栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在Spring Data中使用@Transactional?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在Spring Data中使用@Transactional?

您实际上在问什么?

@Repository
注释或的用法
@Transactional

@Repository
根本不需要,因为您声明的接口将由Spring Data基础结构创建并激活异常转换的代理支持。因此,在Spring
Data仓库接口上使用此批注根本没有任何作用。

@Transactional
-对于JPA模块,我们在支持代理(
SimpleJpaRepository
)的实现类上具有此批注。这有两个原因:首先,持久化和删除对象需要JPA中的事务。因此,我们需要确保事务正在运行,方法是使用注释方法
@Transactional

findAll()
findOne(…)
这样使用的读取方法
@Transactional(readonly =true)
不是严格必需的,但是会触发事务基础结构中的一些优化(将设置为
FlushMode
MANUAL
以使持久性提供程序在关闭时可能会跳过脏检查
EntityManager
)。除此之外,该标志还在JDBC连接上设置,这会导致对该级别的进一步优化。

根据您使用的数据库的不同,它可能会忽略表锁,甚至拒绝您可能意外触发的写操作。因此,我们建议也使用

@Transactional(readonly =true)
for查询方法,您可以轻松地实现将该注释添加到存储库接口。确保
@Transactional
在该接口中可能已声明或重新装饰的操作方法上添加一个普通格式。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437607.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号