sql >> Database >  >> RDS >> Oracle

Schakel Hibernate auto-update bij flush op alleen-lezen synoniemen uit

Hoogstwaarschijnlijk worden uw entiteiten "vuil" op het moment dat ze uit de database worden geladen, en Hibernate denkt dat het de wijzigingen moet opslaan. Dit gebeurt als uw accessors (get en set-methoden) niet exact dezelfde waarde of referentie retourneren die was ingesteld door Hibernate.

In onze code gebeurde dit met lijsten, ontwikkelaars maakten nieuwe lijstinstanties omdat ze het type dat ze in de setter kregen niet leuk vonden.

Als u de code niet wilt wijzigen, wijzigt u de toewijzing in veldtoegang.

Je kunt ook voorkomen dat Hibernate wijzigingen opslaat door FlushMode in te stellen op nooit in de sessie, maar dit verbergt alleen het echte probleem dat zich nog steeds voordoet in andere situaties en zal leiden tot onnodige updates.



  1. Oracle RAC en sequenties

  2. Postgres unieke index met meerdere kolommen voor samenvoegtabel

  3. Databaseverbinding Verbreek altijd de verbinding bij het ontwikkelen op dezelfde pc als DB

  4. Vergelijk rijen en kolommen van dezelfde tabel