当我尝试从数据库中读取数据,至少使用以下代码
((Session)em.getDelegate()).createCriteria()
时,会抛出一个异常,说没有事务。
当我添加以下注释:
@Transactional(
value = SomeClass.TRANSACTIONAL_MANAGER,
propagation = Propagation.SUPPORTS,
readOnly = true
)
它工作得很好。
但是,由于读取会以每秒数百万次的速度发生以访问和读取数据,我希望确保我们的环境不会不必要地被拥塞。
如果没有,创建一个只读的 Propagation.Supports
事务的成本是多少?
在使用Spring的情况下,我能不能创建一个没有事务的Hibernate Criteria查询?