繁体   English   中英

查询DSL左联接查询

[英]Query DSL left join query

我是Query DSL的新手。 现在,我需要在查询DSL中编写以下简单查询:

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

我尝试这样做:

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));

我究竟做错了什么?

如果未定义ParentMsg和ChildMsg实体之间的关系,则Hibernate 5.1之前的Hibernate版本将不允许连接。

如果您使用的是hibernate 5.1或更高版本,则可以进行以下操作。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM