2010-10-20 103 views
1

我想知道我是否可以在JPA中加入2個命名查詢。作爲一個例子,我有以下兩個命名查詢加入JPA中的命名查詢

1 - 獲取所有活躍用戶
2 - 讓所有的用戶對給定公司

是否有可能對我來說,加入以上兩個命名查詢,並得到 獲取給定公司的所有活動用戶。

回答

1

請勿爲此使用NamedQuery。直接將查詢字符串傳遞給方法是最好的選擇。

您必須明白方法createNamedQuery(String name)需要命名查詢的名稱。鑑於createNamedQuery(String qlString)需要查詢字符串,所以這符合您的需要。

或者

爲了這個目標,創建一個單獨的NamedQuery

+0

爲什麼海報想要使用HQL?他說JPA,而不是Hibernate。 – DataNucleus 2010-10-20 15:11:42

+0

@DataNucleus:噢。這是我的默認設置中的「默認」。對不起,現在修改。 – 2010-10-21 02:11:47

+0

謝謝Adeel,我會檢查一下 – sameera207 2010-10-21 14:27:34

1

是否有可能對我來說,加入以上兩個命名查詢和得到所有對於一個給定公司的活躍用戶。

不,這是不可能的。可以編寫一個智能命名查詢,它可以採用參數來表示所有情況(如果可能)或使用多個命名查詢。

如果您使用的是JPA 2.0,則Criteria API可能是編寫動態查詢的另一個(更好的)選項。