2017-04-09 1 views
0

Je suis un débutant dans Query DSL. Maintenant, je dois écrire cette simple requête dans DSL Requête:Requête DSL left join requête

select * from parent_msq pm left join child_msg cm on (cm.id = pm.id) 

J'essaie de faire comme ceci:

QParentMsg qParentMsg = QParentMsg.parentMsg; 
QChildMsg qChildMsg = QChildMsg.childMsg; 

JPAQuery q = new JPAQuery(em); 
q.from(qParentMsg).leftJoin(qParentMsg.id, qChildMsg).on(qParentMsg.id.eq(qChildMsg.id)); 

Qu'est-ce que je fais mal?

+0

Quel (s) message (s) d'erreur recevez-vous? – toonice

Répondre

0

Si la relation entre les entités ParentMsg et ChildMsg n'est pas définie, Hibernate Version Before Hibernate 5.1 n'autorisera pas la jointure. Si vous utilisez Hibernate 5.1 ou une version ultérieure, ce qui suit fonctionnera.

q.from(qParentMsg).leftJoin(qChildMsg).on(qParentMsg.id.eq(qChildMsg.id));