实体 Bean (ejb 3.x) 是否需要容器



是否可以在没有容器的情况下运行实体 bean?如果是这样的例子,请。

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

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

(强调我的)

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

与在容器内运行的主要区别在于持久性单元的定义和处理事务。例如,持久性单元在持久性.xml中定义如下:

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

然后,您将需要获取实体交易并使用它:

EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu_name");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
...
...
tx.commit();
em.close();
emf.close();

相关内容

最新更新