2017-04-09 104 views
0

我是查詢DSL的新手。現在我需要在查詢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)); 

我在做什麼錯?

+0

您收到了哪些錯誤信息? – toonice

回答

0

如果未定義ParentMsg和ChildMsg實體之間的關係,則Hibernate 5.1之前的Hibernate版本將不允許加入。

如果您使用的是hibernate 5.1或更高版本,則以下內容將起作用。

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