我做了一個REST服務項目,我通過DriverManager.getConnection(url,user,pass)執行CRUD操作。與entitymanager的基本CRUD操作
現在我的分配更改爲在Jboss 7.1.1中定義連接並且正在工作(測試Jboss管理控制檯中的數據源返回正值,並且sqljdbc驅動程序在MS SQL Server Management Studio的活動監視器中也顯示爲活動狀態) 。
我被要求使用EntityManager來運行我用於舊項目的本地查詢,而不生成實體或使用實體編寫查詢(即爲下一次分配)。
我從我在我的研究發現,寫了一個小的測試代碼,如下:
public class Test {
@PersistenceContext(unitName="InternshipIS") protected EntityManager entityManager;
public void getQuerys(){
String sqlQuery = "SELECT * from InternshipIS.dbo.Employee";
Query q = entityManager.createNativeQuery(sqlQuery);
System.out.println(q.getResultList().get(2));
}
當到達下面的行,它拋出一個NullPointerException異常。
Query q = entityManager.createNativeQuery(sqlQuery);
請讓我知道在那裏我搞砸了,如果需要,以便將它們添加到我的帖子全堆棧跟蹤/ persistence.xml中/ standalone.xml或其他任何東西。 PS:這不是maven項目。這是一個動態Web項目,當這次調整開始時,我轉換爲JPA。
的EntityManager爲空?任何人在獲得NPE時應該做的第一件事是驗證哪些變量爲空。然後在這個網站上尋找許多關於沒有正確注入PersistenceContext的人的其他許多帖子,通常是容器配置。 –