[英]JBoss 7.1 Datasource JDBC 4.1 Java Persistence-Context
我有一個EJB項目和一個JBoss 7.1服務器以及一個PostgreSQL數據庫。 我想像這樣通過PersistenceContext獲取Entitymanager:
@PersistenceContext(name="PlayerService",unitName="PlayerService")
private EntityManager em;
persistence.xml:
<persistence-unit name="PlayerService" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
...
我啟動JBoss服務器,進入管理控制台並配置JDBC數據源。 我將postgresql-9.3-1101.jdbc41.jar復制到服務器的部署文件夾中,以便在創建數據源時可以選擇該驅動程序。 數據源名稱為PlayerService,JNDI路徑為java:jboss / PlayerService。 我還在JPA子系統中啟用了數據源作為默認數據源。
em.getTransaction().begin();
我猜還是會拋出一個空指針,因為我嘗試從服務器外部訪問PersistenceContext(從帶有單獨主函數的Java類進行測試)。 我要怎么做才能使它正常工作。 它可以在服務器上已部署的項目中工作嗎? 我覺得我錯過了最后一步。
我嘗試從服務器外部訪問PersistenceContext
在單元測試中,您需要自己初始化EntityManager。
EntityManagerFactory factory = Persistence.createEntityManagerFactory("PlayerService");
EntityManager em = factory.createEntityManager();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.