Oracle
 sql >> Database >  >> RDS >> Oracle

Disabilita l'aggiornamento automatico di Hibernate su flush sui sinonimi di sola lettura

Molto probabilmente le tue entità diventano "sporche" nello stesso momento in cui vengono caricate dal database e Hibernate pensa di dover archiviare le modifiche. Ciò accade se i tuoi accessori (metodi get e set) non restituiscono esattamente lo stesso valore o riferimento che era stato impostato da Hibernate.

Nel nostro codice, questo è successo con gli elenchi, gli sviluppatori hanno creato nuove istanze di elenchi perché non gli piaceva il tipo che avevano nel setter.

Se non vuoi modificare il codice, cambia la mappatura per accedere al campo.

Puoi anche impedire a Hibernate di archiviare le modifiche impostando FlushMode su Mai nella sessione, ma questo nasconde solo il vero problema che si verificherà ancora in altre situazioni e porterà ad aggiornamenti non necessari.