【发布时间】:2016-01-03 17:22:02
【问题描述】:
我正在使用 JBoss Wildfly 作为我的 JPA 层上的应用程序服务器。
对于技术要求,我需要使用 JavaSE/应用程序管理方法来获取我的实体持久性管理器。即:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("idelivery", properties);
EntityManager em = emf.createEntityManager();
MyEntity exUser= new MyEntity();
try{
Context context = new InitialContext();
UserTransaction userTransaction = (UserTransaction)context.lookup("java:comp/UserTransaction");
userTransaction.begin();
em.persist(exUser);
userTransaction.commit();
我在哪里设置属性:
properties.put ("hibernate.dialect", "org.hibernate.dialect.Oracle10gDialect");
properties.put("javax.persistence.provider", "org.hibernate.jpa.HibernatePersistenceProvider");
properties.put("javax.persistence.transactionType", "JTA");
properties.put("javax.persistence.jtaDataSource", dataSourcePath);
当然,问题在于上面的代码行我无法将实体管理器绑定到容器 JTA 事务管理器。
所以我的问题是:是否有一些示例或方法可以让实体管理器加入复杂的 JTA 事务?我不知道...也许使用 CDI 生产者我可以将 entitymanager 放入容器上下文中?
【问题讨论】:
标签: java cdi entitymanager jta jpa-2.1