是否可以在没有容器的情况下运行实体bean?如果是这样的话请。
答案 0 :(得分:3)
JPA可以在Java EE容器之外使用,是的。 JPA2的规范以这些词开头:
本文档是使用Java EE 和Java SE 管理持久性和对象/关系映射的Java API规范。
(强调我的)
但是,您不会自动支持持久性单元注入,JTA支持等。春天有助于这个领域。
答案 1 :(得分: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();