Отключить автоматическое обновление Hibernate при сбросе на синонимах только для чтения
У меня есть таблица и две базы данных, которые имеют одну и ту же таблицу, но одна является символической ссылкой другой, и в этой таблице разрешено только чтение.
Я сопоставил таблицу с Java с помощью Hibernate, и я использую Spring, чтобы установить источник данных Entity Manager в качестве одной из двух баз данных на основе некоторых критериев ввода.
Я вызываю только операции только для чтения (выбирает), когда я подключен ко второй базе данных, но кажется, что Hibernate пытается сбросить что-то обратно в базу данных, и он не сообщает, что обновление не разрешено в этом представлении.
Как отключить это обновление только для второго источника данных и сохранить его нормальным для первого?
Обновить: Глядя на трассировку стека, кажется, что сброс начинается здесь:
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 для второго источника данных?