prog:java_hibernate
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
prog:java_hibernate [2013/04/11 10:19] – [Ein Oracle Sequence für den Primary Key einer Tabelle in Hibernate definieren und verwenden] gpipperr | prog:java_hibernate [2013/04/11 10:48] (aktuell) – [Fehler] gpipperr | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Ein Oracle Sequence für den Primary Key einer Tabelle in Hibernate definieren und verwenden ====== | ||
+ | |||
+ | Ziel: | ||
+ | |||
+ | Für den Primary Key einer Tabelle soll das Sequence Objekt in der Oracle Datenbank verwendet werden. | ||
+ | |||
+ | Getestet in Hibernate 4.2.0 | ||
+ | |||
+ | |||
+ | === Vorbereitung - Hibernate konfigurieren === | ||
+ | |||
+ | Setzen der Hibernate Property " | ||
+ | |||
+ | <code java> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Hibernate GenericGenerator Annotations === | ||
+ | |||
+ | Mit @GenericGenerator können diverse Strategien für das Erzeugen einer Schlüssels umgesetzt werden. | ||
+ | |||
+ | siehe auch: | ||
+ | |||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | |||
+ | |||
+ | <code java> | ||
+ | import org.hibernate.annotations.GenericGenerator; | ||
+ | import org.hibernate.annotations.Parameter; | ||
+ | import javax.persistence.GeneratedValue; | ||
+ | |||
+ | @Entity | ||
+ | @Table(name = " | ||
+ | public class User { | ||
+ | |||
+ | @GenericGenerator(name = " | ||
+ | |||
+ | @Id | ||
+ | @GeneratedValue(generator = " | ||
+ | private int empno; | ||
+ | | ||
+ | |||
+ | // get and set | ||
+ | |||
+ | ... | ||
+ | |||
+ | } | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Fehler ==== | ||
+ | |||
+ | Erhält man diesen Fehler, wurde zuvor die Hibernate Propertiy nicht gesetzt! | ||
+ | |||
+ | <code java> | ||
+ | ERROR: HHH000099: an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session): org.hibernate.AssertionFailure: | ||
+ | Exception in thread " | ||
+ | </ | ||
+ | |||
+ | siehe auf http:// | ||
+ | |||
+ | <code java> | ||
+ | if ( useGetGeneratedKeys && !factory.getSettings().isGetGeneratedKeysEnabled() ) { | ||
+ | throw new AssertionFailure(" | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ==== Quellen ==== | ||
+ | |||
+ | Allgemein: | ||
+ | |||
+ | * http:// |
prog/java_hibernate.txt · Zuletzt geändert: 2013/04/11 10:48 von gpipperr