你在读取数据时是否需要数据库事务?
- 论坛
- 你在读取数据时是否需要数据库事务?
7 浏览
你在读取数据时是否需要数据库事务?
当我尝试从数据库读取数据时,至少使用((Session)em.getDelegate()).createCriteria()
,会抛出一个异常,表示事务不存在。当我添加注解:
@Transactional( value = SomeClass.TRANSACTIONAL_MANAGER, propagation = Propagation.SUPPORTS, readOnly = true )
之后,就可以正常工作了。然而,由于读取操作会以每秒百万次的频率进行访问和读取数据,我希望确保我们的环境不会不必要地被阻塞。如果没有,创建只读Propagation.Supports
事务的成本是多少?在使用Spring的情况下,我是否可以在没有事务的情况下创建Hibernate Criteria查询?