2010-08-01 51 views
0

在Pro JPA 2(Apress出版)一書,我看到像的例子,JPA createNamedQuery語法

EntityManager em; 
Long count = em.createNamedQuery(countQueryName, Long.class).getSingleResult(); 

但是,該api,希望施加到JPA 2.0,示出了語法

createNamedQuery(String name) 
Parameters: 
name - the name of a query defined in metadata 

只有一個參數。這本書廣泛使用這種類型,所以我錯過了什麼?

謝謝。

回答

2

Java EE 5中使用JPA 1和Java EE 6使用JPA 2.這裏就是你要尋找的方法:

createNamedQuery(java.lang.String name, java.lang.Class resultClass)

用於執行Java持久性 創建的TypedQuery實例查詢語言命名查詢。查詢的選擇列表必須包含 只有一個項目,該項目必須可由 參數resultClass參數指定的類型指定。

參數name - 查詢的元數據 resultClass定義的名稱 - 查詢結果

返回類型:新的查詢實例

拋出IllegalArgumentException - 如果查詢沒有用給定名稱定義,或者查詢字符串被發現無效或者查詢結果被發現不能指定給指定類型

由於:Java持久性2.0

+0

謝謝。我需要等待6分鐘接受答案,所以說:-) – bsr 2010-08-01 02:49:35

+0

不客氣。 :) – Behrang 2010-08-01 02:53:35

+0

無效的網址,你可以在這裏提供另一個或總結 – shareef 2014-07-08 11:28:15