我们在项目中使用Spring和hibernate,我注意到我们在sprint上下文文件中定义了<tx:annotation-driven />,如果我为方法添加了@Transactional注释,我就可以与数据库成功交互,但是如果删除了@Transactional注释从方法中我得到异常说明"No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here"

有什么办法可以将所有选择操作定义为非Transactional(我的意思是没有@Transactional注释)并更新和插入为Transactional

最佳答案

对于仅选择操作,通常最好使用@Transactional(readOnly=true)。当需要多个选择语句来完成一个操作时,在自动提交模式下使用休眠模式可能会很浪费。

关于java - Spring /hibernate 交易,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23329470/

10-11 02:55