Wyłącz automatyczną aktualizację hibernacji po opróżnieniu na synonimach tylko do odczytu

Mam tabelę i dwie bazy danych, które mają tę samą tabelę, ale jedna jest dowiązaniem symbolicznym drugiej i tylko odczyt jest dozwolony w tej tabeli.

Zmapowałem tabelę na Javę przy użyciu Hibernate i używam spring, aby ustawić źródło danych Entity Managera jako jedną z dwóch baz danych na podstawie niektórych kryteriów wejściowych.

Wywoływam tylko operacje odczytu (wybieram), gdy jestem połączony z drugą bazą danych, ale wydaje się, że Hibernate próbuje opróżnić coś z powrotem do bazy danych i nie powiedzie się, że aktualizacja nie jest dozwolona w tym widoku.

Jak wyłączyć tę aktualizację tylko dla drugiego źródła danych i zachować normalne dla pierwszego?

Aktualizacja: Patrząc na ślad stosu, kolor wydaje się być uruchomiony tutaj:

          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

Czy jest to związane z właściwością hibernate.transaction.flush_before_completion? Czy mogę ustawić wartość false na drugie źródło danych?

questionAnswers(2)

yourAnswerToTheQuestion