猿问

为什么不建议将@transactional 注解与 select 操作一起使用

我是春天的新手。

为什么@transactional不建议将注解与选择操作一起使用?


长风秋雁
浏览 666回答 2
2回答

沧海一幻觉

为什么不建议将 @transactional 注释与 select 操作一起使用?不正确,您没有提供此类推荐的证明(请提供),并且在Spring @Transactional 设置中,您选择或只读了事务支持readOnly  boolean  Read/write vs. read-only transaction此外,在使用连接池时,如果在 select 语句之后不回滚/提交,它会将其视为脏提交,例如,请参阅Hikari 的 brettwooldridge 评论如果 autoCommit=false 您绝对必须调用 commit() 或 rollback() 以确保正确性。

慕容3067478

选择操作是关于阅读的,没有什么是事务性的。事务性通常是指在单个原子单元中捆绑对 DB 的大量写入。如果事务失败,则整个单元以及所有捆绑的写入都将回滚。所以一个事务只有在事务中的所有语句都通过的情况下才能成功。Select 是只读操作。对于 Select,您可以拥有诸如 - Read Dirty 或 Read after Commit 等内容,但事务性不适用。
随时随地看视频慕课网APP

相关分类

Java
我要回答