Consultas em uma hierárquia de classes com Hibernate
1 resposta
J
jefecompPJ
Olá Pessoal…
Estou utilizando o hibernate como framework de persistência de minha aplicação, porém não estou conseguindo realizar uma consulta em uma classe derivada com base em um atributo da classe pai.
A consulta é essa:
FROM A as obj where obj like(FROM B as obj1 where obj1 = obj
and obj1.tipo = 10
and obj1.codigo = 16)
B- Classe pai
A classe derivada…
Essa consulta me retorna a seguinte exceção:
net.sf.hibernate.exception.GenericJDBCException: Could not execute query
Olá, jefecomp!
Uma dica boa é você usar NamedQuery no mapeamento de sua classe. Desse modo facilita a manutenção pois o código da sua aplicação não precisa ser compilada novamente caso precise alterar.
Bom, mais isso é só mais uma dica.
Sobre o seu caso, se bem entendi, vc quer consultar as subclasses baseando no seu owner. Por exemplo: busca itensNota pela Nota.numero.
Se é isso, usando a NamedQuery ficaria assim:
<query name="documentosFindByPessoa" ><![CDATA[
select pagamento
from Documento documento
where documento.owner.nome like :nome || "%"
order by documento.id]>
</query>
ou ainda:
<query name="pessoaFindDocumentos" ><![CDATA[
select documento from Pessoa pessoa join
pessoa.documentos documento
where pessoa = :bean]]>
</query>