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

Deaktiver automatisk dvaleopdatering ved flush på skrivebeskyttede synonymer

Sandsynligvis bliver dine entiteter "beskidte" i samme øjeblik, de indlæses fra databasen, og Hibernate mener, at den skal gemme ændringerne. Dette sker, hvis dine accessorer (hent og sæt metoder) ikke returnerer nøjagtig samme værdi eller reference som var indstillet af Hibernate.

I vores kode skete dette med lister, udviklere oprettede nye listeforekomster, fordi de ikke kunne lide den type, de fik i sætteren.

Hvis du ikke vil ændre koden, skal du ændre tilknytningen til feltadgang.

Du kan også forhindre Hibernate i at gemme ændringer ved at indstille FlushMode til aldrig på sessionen, men dette skjuler kun det reelle problem, som stadig vil opstå i andre situationer og vil føre til unødvendige opdateringer.



  1. Tæl hyppigheden af ​​array eller jsonb-objekt

  2. Syntaksfejl ved brug af afgrænsere med Aurora Serverless MySQL 5.6

  3. fjerne et bestemt ord fra strengen

  4. Få Hierarki-niveau og alle nodereferencer på Oracle