Kromě hodnot generovaných databází není samozřejmě potřeba, aby Hibernate vracela aktualizovanou instanci, protože objekt předán do Session.saveOrUpdate()
je aktualizovanou instanci. Hodnoty generované databází (sekvence, spouštěč, výchozí hodnoty atd.) budou nastaveny po Session.saveOrUpdate
pokud jsou odpovídajícím způsobem anotovány (nebo definovány v mapovacím souboru XML).
Pro hodnoty identifikátorů
použijte JPA @javax.persistence.GeneratedValue
anotace ve spojení s JPA @javax.persistence.Id
anotace. Pro jednoduché vlastnosti použijte nativní Hibernate @org.hibernate.annotations.Generated
anotace (afaik podle JPA anotace neexistuje).
Jak jsou generované hodnoty identifikátorů načteny Hibernatem, závisí na strategii generování a/nebo dialektu databáze. Pro jednoduché vlastnosti Hibernate spustí další SELECT
pomocí příkazu id za INSERT
nebo UPDATE
.