最近遇到一个非常棘手的问题
当jpa使用update/delete时如果不添加@Thransactional会报
Executing an update/delete query;
nested exception is javax.persistence.TransactionRequiredException: Executing anupdate/delete query异常
可是我添加@Thransactional还是会报这个异常
问了好多同行,他们都是告诉我定时器不能使用事物,实际并不是这样的,我查看了很多资料是可以使用的,@Scheduled和@Thransaction不能在同一个类中。
并且实体类要加上@EnableTransactionManagement注解,使我们这个工程支持事物
后来我试了很多
@Thransactional(rolbackFor=ThrowAble.class)
@Thransactional(rolbackFor=Exception.class)
@Thransactional(ReadOnly=false)//jpa默认不开启事物 等等就是想使事物进行回滚 可是造化弄人呀
废话不多说,直接上最关键的!!
// 在连接数据库也就是date jpa 工程的启动类中 配置
@Bean(name="transactionManager")
public PlatformTransactuibManager configurationTm(EntityManagerFactory factory){
return new JpaTransactionManager(factory);
}
希望这篇文章对您有一定的帮助,也欢迎您积极地一起讨论成长。