2016-03-15 48 views
0

請問你們能幫我將這個SQL查詢轉換成HQL查詢嗎?如何在Hibernate中編寫SQL連接HQL

SELECT * FROM Client 
JOIN Member on Client.workspace_id = Member.myworkspaceid 
WHERE Member.id = {param} 

我想這個不同的組合:

"select p from Client as p 
join Member m on p.workSpace_Id = m.myWorkSpaceId 
where m.id = :id" 

但不管如何努力,我試試。我仍然缺少一些東西。

會員沒有與客戶

+0

是會員有什麼與客戶的關係? – Musaddique

+0

這將有助於:http://www.codejava.net/frameworks/hibernate/hibernate-query-language-hql-example – Musaddique

+0

@TipuSultan不,它不。 – MrDoda

回答

1

任何關係在HQL您可以指定連接(休眠DOC:16.3. Associations and joins

如果關係在你的實體類映射,你只能加入。

基於您的代碼(假設成員被映射到屬性「成員」的HQL應該是這樣的:

select p from Client as p where p.member.id = :id 

要了解關係映射來看看一個這個文檔JPA Relationship

+0

所以可能有問題,我不沒有正確映射。 我是否n在映射客戶端實體類中的成員時注意到一些特殊的註釋? – MrDoda

+1

這取決於關係看看這個鏈接https://en.wikibooks.org/wiki/Java_Persistence/Relationships – JEY