我尝试用wildfly 10应用服务器编写数据库usign容器管理的jta。它没有任何错误,但没有向数据库写入任何内容。
这是我的persistence.xml文件:
<persistence-unit name="myPersistenceUnit" transaction-type="JTA">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<jta-data-source>java:/datasources/myOracleDataSource</jta-data-source>
</persistence-unit>
我的课程是:
@TransactionManagement(TransactionManagementType.CONTAINER)
public class UserDaoImpl implements UserDao {
@PersistenceContext(unitName="myPersistenceUnit")
EntityManager userEM;
public UserDaoImpl (EntityManager userEM) {
this.userEM = userEM;
}
@Transactional(Transactional.TxType.REQUIRES_NEW)
public int createNewUser(int id, String name) {
User user = new User(id, name);
userEM.persist(user);
}
}
当我第二次尝试写时,它会抛出唯一索引异常。但是,重新启动服务器后,它再次没有错误。我认为它保留了内存的变化,但没有写入数据库。
我一直坚持这个问题。你有什么想法吗?