2012-12-01 39 views

回答

3

JPA可以在Java EE容器之外使用,是的。 JPA2的說明書開始與這些詞:

本文件是Java API的持久性和對象/關係映射的管理使用Java EE 和Java SE說明書。

(重點煤礦)

你不會有持久化單元注入,JTA支持等自動支持,雖然。春天在這方面有幫助。

+0

謝謝@JB Nizet以下文章幫助我很多。 http://stackoverflow.com/questions/9419223/can-jpa-2-0-be-used-without-javaee-6?rq=1 – laksys

0

與容器內部運行的主要區別在於持久性單元和處理事務的定義。 有關示例,持久性單元定義如下,在persistence.xml中:

<persistence-unit name="pu_name" transaction-type="RESOURCE_LOCAL"> 

然後,你將需要獲得EntityTransaction並使用它:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu_name"); 
EntityManager em = emf.createEntityManager(); 

EntityTransaction tx = em.getTransaction(); 
tx.begin(); 
... 
... 
tx.commit(); 

em.close(); 
emf.close(); 
相關問題