我是春天的新手。
为什么不建议将@transactional
注释与选择操作一起使用?
答案 0 :(得分:1)
为什么不建议将@transactional注释与select操作一起使用?
否,您没有提供有关推荐的证明(请提供),并且在Spring @Transactional settings中您选择或只读了交易支持
readOnly boolean Read/write vs. read-only transaction
使用连接池时,如果您在选择语句后不回滚/提交,也会将其视为脏提交,例如,参见Hikari's brettwooldridge comment
如果autoCommit = false,则必须绝对调用commit()或rollback()来确保正确性。
答案 1 :(得分:-1)
“选择操作”与阅读有关,与之无关。事务性通常是指将多个写操作捆绑到一个原子单元中。如果事务失败,则将回滚整个单元以及所有捆绑的写操作。因此,只有在交易中的所有语句都通过后,交易才能成功。
选择是只读操作。对于“选择”,您可以使用-脏读或提交后读取等内容,但是事务性不适用。