Spring 在hibernate中使用逐出时
我们有一个带有Spring 在hibernate中使用逐出时,spring,hibernate,transactional,Spring,Hibernate,Transactional,我们有一个带有@Transactional的函数,它有一个if表达式。当它为真时,我们必须返回列表(使用它!!),并且在else表达式中我们必须保存一个实体!!但当它返回我的列表时,它会更新数据库中的列表 我们在带有@Transactional(readOnly=true)的函数中使用else表达式,但它不起作用 我们在另一个服务类中的函数中使用else表达式,并使用@Transactional(readOnly=true),但它也不起作用 所以我们使用session.envict(myob
@Transactional
的函数,它有一个if表达式。当它为真时,我们必须返回列表(使用它!!),并且在else表达式中我们必须保存一个实体!!但当它返回我的列表时,它会更新数据库中的列表
- 我们在带有
的函数中使用else表达式,但它不起作用@Transactional(readOnly=true)
- 我们在另一个服务类中的函数中使用else表达式,并使用
,但它也不起作用@Transactional(readOnly=true)
有更好的方法吗?您可能应该编辑您的问题,使其更可读、更清晰。否则,您的问题可能无法回答,或被community@AnthonyRaymondtanks for edit没有问题,但是您应该再次编辑,以明确您请求的
Readonly=true
应该有效,如果无效,可能是因为您已经打开了另一个事务,并且正在重用它。否则,退出是在事务关闭和提交时防止更新的一种方法。通常,如果实体不应该被持久化,您会希望避免修改它。