Bonjour a tous,
Je viens demander une aide concernant le group by avec Hibernate.
J'ai une contrainte tecnhique qui m'impose de travailler qu'avec un seul type d'objet que l'on va appeler Document. Or j'ai un objet Document2 qui herite de Document et qui possede une reference.
Le problème est:
Lorsque que j'effectue la requete HQL suivante :
"from Document as doc where doc.reference like '%B'"
Cette requete fonctionne correctement.
Par contre celle ci non:
"select doc.reference, max(doc.revision) from Document as doc group by doc.reference"
les requete générées sont:
1)
select ... from document documentda0_ inner join object documentda0_1_ on documentda0_.object_id=documentda0_1_.id left outer join document2 documentda0_2_ on documentda0_.object_id=documentda0_2_.object_id where documentda0_2_.reference like '%'
2)
select documentda0_2_.reference as col_0_0_, max(documentda0_.revision) as col_1_0_ from document documentda0_ inner join object documentda0_1_ on documentda0_.object_id=documentda0_1_.id group by documentda0_2_.reference
ERROR: relation "documentda0_2_" does not exist
On comprend l'erreur dans le 2) car il n'y a pas de jointure faite avec document2
Il faut absolument que j'evite d'utiliser Document2 sinon je perd la généricité (cette requete fonctionnerait : "select doc.reference, max(doc.revision) from Document2 as doc group by doc.reference").
Merci d'avance pour m'aider à résoudre ce problème.
|