Duvida sobre criteria e foreign key sql

Boa tarde pessoal, tenho uma tabela Funcionario que implementa outra tabela de nome PessoaFisica, como faço para pegar a chave estrangeira de pessoa_id visto que ela não está instanciada dentro da entidade Funcionario?

List<Long> funcionariosId = new ArrayList<>();
pessoaFisicaRepository.findAllByNomeContaining(params.getNome()).forEach(entry ->
   funcionariosId.add(entry.getId())
);
Expression<Long> parentExpression = root.get("pessoa");
predicates.add(parentExpression.in(funcionariosId));

Consigo pegar uma lista de fk usando esse método do criteria, mas para ele funcionar teria que ter a root.get("pessoa") instanciada dentro de Funcionario.
Alguém sabe me explicar como fazer essa consulta? Obrigado desde já.

Alguém pode me dar uma ajudinha nisso?