Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:java_hibernate

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 „hibernate.jdbc.use_get_generated_keys“

  <property name="hibernate.jdbc.use_get_generated_keys">true</property>

Hibernate GenericGenerator Annotations

Mit @GenericGenerator können diverse Strategien für das Erzeugen einer Schlüssels umgesetzt werden.

siehe auch:

import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import javax.persistence.GeneratedValue;
 
@Entity
@Table(name = "EMP")
public class User {
 
    @GenericGenerator(name = "OraSeqGenerator", strategy = "sequence-identity", parameters = @Parameter(name = "sequence", value = "EMP_ID_SEQ"))
 
    @Id
    @GeneratedValue(generator = "OraSeqGenerator")
    private int empno;
 
 
// get and set 
 
...
 
}
 

Fehler

Erhält man diesen Fehler, wurde zuvor die Hibernate Propertiy nicht gesetzt!

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: getGeneratedKeys() support is not enabled
Exception in thread "main" org.hibernate.AssertionFailure: getGeneratedKeys() support is not enabled

siehe auf http://www.javadocexamples.com/org/hibernate/org.hibernate.AssertionFailure.html den Abschnitt:

if ( useGetGeneratedKeys && !factory.getSettings().isGetGeneratedKeysEnabled() ) {
            throw new AssertionFailure("getGeneratedKeys() support is not enabled");
}

Quellen

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
prog/java_hibernate.txt · Zuletzt geändert: 2013/04/11 10:48 von gpipperr