2011-05-25 80 views
1

我對JPA很陌生,我使用Apress JPA2教科書來學習它。我正在嘗試做這本書的第一個例子。下面這行代碼給我一個錯誤:TypedQuery等同於JPA 1.0

TypedQuery query = em.createQuery(「SELECT e FROM Employee e」,Employee.class);

表示TypedQuery無法解析爲類型。掙扎了一段時間後,我意識到我正在使用JPA版本1,它不包含TypedQuery,而只包含Query接口。

我的問題是在JPA版本1中是否有等價的語句。請幫助。提前致謝。

回答

2

由於TypedQuery是從JPA-2.0引入的,必須去查詢接口。

1)本地查詢映射查詢的結果類型(失去可移植性)。

Query selectQuery = entityManager.createNativeQuery("SELECT 
e FROM Employee e", Employee.class); 

2)創建的查詢&然後明確地它澆鑄到結果類型(更優選)。

Query selectQuery = entityManager.createQuery("SELECT e FROM Employee e") 
List<Employee> employees = (List<Employee>)selectQuery.getResultList(); //Multiple Result 
Employee employee = (Employee)selectQuery.getSingleResult(); //Single Result 
+0

感謝一堆它爲第二選項工作。 – vishwa 2011-05-27 04:11:07