JTA不会使用wildfly写入数据库

时间:2016-11-16 13:59:38

标签: java hibernate jpa jta wildfly-10

我尝试用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);   
    }
}

当我第二次尝试写时,它会抛出唯一索引异常。但是,重新启动服务器后,它再次没有错误。我认为它保留了内存的变化,但没有写入数据库。

我一直坚持这个问题。你有什么想法吗?

0 个答案:

没有答案