繁体   English   中英

事务注释的不同行为

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM