我有一个表和两个具有相同表的数据库,但是一个是另一个的符号链接,只允许在此表上读取.
我已使用Hibernate将表映射到Java,并使用spring将实体管理器的数据源设置为基于某些输入条件的两个数据库之一.
当我连接到第二个数据库时,我只调用只读操作(选择),但似乎Hibernate尝试将某些内容刷回数据库,并且无法在此视图上告知更新.
如何仅针对第二个数据源禁用此更新并保持第一个数据源正常?
更新:
查看堆栈跟踪,似乎在这里启动了flush:
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365) at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504) ... 55 more
这与hibernate.transaction.flush_before_completion属性有关吗?我可以为第二个数据源将其设置为false吗?