[英]Transactional annotation different behavior
我刚刚看到了两个不同的项目。
在其中之一中,每当您尝试从没有@Transactional
批注的方法中保留/保存实体时,都会出现一个异常,指出:未No session found
在另一
即使不存在@Transactional
注释, save
方法也可以保存。
PS-一个项目使用Spring + Hibernate( session not found
异常),另一个项目使用Spring + JPA + Spring Data存储库(允许保存而没有事务注释)
有什么想法为什么会有区别吗? 最佳做法是什么?
这是因为,如Spring Data JPA 的文档所示
默认情况下,存储库实例上的CRUD方法是事务性的。 对于读取操作,事务配置的readOnly标志设置为true,所有其他事务都配置有简单的@Transactional,以便应用默认事务配置。 有关详细信息,请参见存储库的JavaDoc。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.