我是春天的新手。为什么@transactional不建议将注解与选择操作一起使用?
2 回答
沧海一幻觉
TA贡献1824条经验 获得超5个赞
为什么不建议将 @transactional 注释与 select 操作一起使用?
不正确,您没有提供此类推荐的证明(请提供),并且在Spring @Transactional 设置中,您选择或只读了事务支持
readOnly boolean Read/write vs. read-only transaction
此外,在使用连接池时,如果在 select 语句之后不回滚/提交,它会将其视为脏提交,例如,请参阅Hikari 的 brettwooldridge 评论
如果 autoCommit=false 您绝对必须调用 commit() 或 rollback() 以确保正确性。
慕容3067478
TA贡献1773条经验 获得超3个赞
选择操作是关于阅读的,没有什么是事务性的。事务性通常是指在单个原子单元中捆绑对 DB 的大量写入。如果事务失败,则整个单元以及所有捆绑的写入都将回滚。所以一个事务只有在事务中的所有语句都通过的情况下才能成功。
Select 是只读操作。对于 Select,您可以拥有诸如 - Read Dirty 或 Read after Commit 等内容,但事务性不适用。
添加回答
举报
0/150
提交
取消