使用JPA的EntityManager.persist()方法无法保存到数据库的问题

昨天用JPA时遇到一个小问题,entitymanager是通过@PersistContext方法注入的,使用entitymanager查询对象没有问题,但进行持久化时就无法保存数据到数据库,程序也没有抛出任何异常。瞎捣鼓了一天,总以为是persistence.xml文件哪里出问题,最后上网查资料,看到别人提到transaction-type中的JTA和RESOURCE_LOCAL的区别,才想到自己在调用persis()方法之前没有添加@Transactional标签。 现在问题解决了,衷心的感谢百度谷歌以及在网上分享自己解决问题经验的大牛和小牛们!

 

转载:JTA和RESOURCE_LOCAL的区别就在于一个是声明性事务管理,由容器来打理你添加了@TransactionAttribut(xxxx)注释的EJB method过程,而另一个需要手动从EM中得到一个事务句柄并使用begin(),commit()之类编程性事务管理方式

你可能感兴趣的:(manager)