我们中的大多数人可能正在使用Spring和Hibernate进行数据访问。 我尝试了解一些Spring事务管理器的内部。
根据Spring API,它支持不同的隔离级别 - doc 但我找不到清晰明了的信息,说明在哪些场合下使用这些隔离级别可以真正有助于提高性能。
我知道从Spring Transaction
的readOnly
参数可以帮助我们使用不同的TxManagers来读取只读数据,并且可以利用良好的性能。但是它会锁定
表以获取数据,以避免脏读/未提交读取-doc。
假设,在某些情况下,我们可能希望将记录盲目插入表中并检索信息,而不锁定表,即我们永远不会更新表数据,我们只是插入和读取[仅添加]。我们可以使用更好的隔离级别来提高性能吗?
- 正如您从其中一个参考链接中看到的那样,我们是否真正需要实现/编写自己的CustomJPADiaelect?
- 对于我的要求,哪种隔离级别更好?