0

Is it possible to run entity bean without container? If so example please.

4

2 回答 2

3

JPA 可以在 Java EE 容器之外使用,是的。JPA2 的规范以这句话开头:

本文档是 Java API 规范,用于使用 Java EE和 Java SE管理持久性和对象/关系映射。

(强调我的)

但是,您不会自动支持持久性单元注入、JTA 支持等。春天在这方面有所帮助。

于 2012-12-01T15:58:48.160 回答
0

与在容器内运行的主要区别在于持久性单元的定义和处理事务。例如,persistence-unit 在 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();
于 2012-12-01T21:22:22.107 回答