Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Erstellen einer UPDATE RETURNING-Abfrage in Hibernate

Abgesehen von den von der Datenbank generierten Werten muss Hibernate offensichtlich nicht die aktualisierte Instanz zurückgeben, da das Objekt an Session.saveOrUpdate() übergeben wurde ist die aktualisierte Instanz. Von der Datenbank generierte Werte (Sequenz, Auslöser, Standardwerte usw.) werden nach festgelegt Session.saveOrUpdate wenn sie entsprechend annotiert (oder in einer XML-Mapping-Datei definiert) sind.

Für Bezeichnerwerte Verwenden Sie den JPA @javax.persistence.GeneratedValue Annotation in Verbindung mit der JPA @javax.persistence.Id Anmerkung. Für einfache Eigenschaften Verwenden Sie den nativen Hibernate @org.hibernate.annotations.Generated Anmerkung (afaik, es gibt keine entsprechende JPA-Anmerkung).

Wie generierte Bezeichnerwerte von Hibernate abgerufen werden, hängt von der Generierungsstrategie und/oder dem Datenbankdialekt ab. Für einfache Eigenschaften führt Hibernate zusätzlich ein SELECT aus by id-Anweisung nach dem INSERT oder UPDATE .