Olá Camaradas,
Abro este tópico após algumas horas de pesquisa, tentativa e erro.
Estou num projeto utilizando JSF2 e Hibernate 3.
Tenho as Entities Pessoa e Ciente, cujo relacionamento é 1 : 1, cliente é composto por Pessoa.
O Hibernate gerou as tabelas pessoa e cliente (com FK em CLiente).
Pessoa
Integer id PK
Varchar(150) nome
//demais colunas
e
Cliente
Integer id PK
Integer pessoa_id FK
//demais colunas
O problema é que, de acordo com as especificações do projeto, a construção das tabelas está ok, porém, há uma regra negocial que diz que o sistema deve permitir consulta através de ID (atributo de cliente) e, também, pelo nome ou CPF da pessoa.
A partir daí começa o problema.
A única forma de fazer isto seria
SELECT c.id, c.renda, c.ocupacao, c.pessoa_id, p.id, p.nome, p.cpf
FROM
Pessoa p
INNER JOIN
Cliente c
ON
pessoa.id = cliente.pessoa_id
AND
pessoa.nome like =?;
Certo?
O que está pegando é que estou tentando usar Criteria e até o momento não encontrei nada que me permita buscar o Cliente a partir do Nome da Pessoa.
Alguém pode me dar uma força?