簡體   English   中英

JBoss 7.1數據源JDBC 4.1 Java持久性上下文

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM