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?