org.springframework.dao.InvalidDataAccessApiUsageException:写入
  只读模式(FlushMode.MANUAL)中不允许执行操作:
  您的会话进入FlushMode.COMMIT / AUTO或删除“ readOnly”标记
  从交易定义。


我试图将其在代码和xml中更改为另一个flushmode,但是它仍然是Auto。

hibernatetemplate.getSessionFactory().openSession().setFlushMode(FlushMode.COMMIT);


<prop key="org.hibernate.FlushMode">COMMIT</prop>

最佳答案

您很可能在会话中进行的操作(其中一些操作是在驻留或更新实体)不在事务上下文内。

尝试将它们包含在以下内容中:

Session session = hibernatetemplate.getSessionFactory().openSession();
Transaction tx = session.beginTrasaction();

...

tx.commit();
session.close();


现在,当您开始事务时,刷新模式应隐式设置为COMMIT / AUTO。

08-04 17:40