Oprócz wartości generowanych przez bazę danych nie ma oczywiście potrzeby, aby Hibernate zwracał zaktualizowaną instancję, ponieważ obiekt został przekazany do Session.saveOrUpdate() jest zaktualizowana instancja. Wartości generowane przez bazę danych (sekwencja, wyzwalacz, wartości domyślne itp.) zostaną ustawione po Session.saveOrUpdate jeśli są odpowiednio opatrzone adnotacjami (lub zdefiniowane w pliku mapowania XML).
Dla wartości identyfikatorów
użyj JPA @javax.persistence.GeneratedValue adnotacja w połączeniu z JPA @javax.persistence.Id adnotacja. Dla prostych właściwości użyj natywnego Hibernate @org.hibernate.annotations.Generated adnotacja (faktycznie nie ma adnotacji zgodnej z JPA).
Sposób pobierania wygenerowanych wartości identyfikatorów przez Hibernate zależy od strategii generowania i/lub dialektu bazy danych. Dla prostych właściwości Hibernate wykonuje dodatkowy SELECT przez instrukcję id po INSERT lub UPDATE .