LukeHawk
Grünschnabel
Hallo,
habe folgendes Problem:
ich bekomme es nicht hin eine Oracle-Sequenz auf ein nicht-primärschlüssel-Feld zu mappen.
Meinen Primärschlüssel (OID) inkrementiert Hibernate für mich ohne Probleme:
Jedoch habe ich ein weiteres Feld, das über eine Oracle-Sequenz inkrementiert werden soll.
Mein Ansatz:
Ich hatte erwartet daß es so klappen könnte, finde jedoch nirgends Doku dazu (ausser für Primärschlüssel).
Ergebnis: constraint violation weil er NULL einfügt.
Es gibt keine Anhaltspunkte dafür, dass irgendein SequenceGenerator überhaupt den Versuch startet die Sequent für IS_NO zu holen.
Für den primary key OID gibt's Nachrichten wie:
Mein Versuch bringt also schlichtweg nichts hervor.
Kann mir jemand sagen wie ich eine Sequenz für einen nicht-Primärschlüssel aus einer Oracle Sequenz generieren lassen kann?
Ist @javax.persistence.SequenceGenerator nür für primary keys gedacht? Wenn ja, kennt jemand die dafür geeignete Klasse / Workarounds?
Umgebung:
Hibernate Commons Annotations 3.1.0.GA
Hibernate Annotations 3.4.0.GA
Hibernate 3.3.0.SP1
JDK 1.4
Oracle9i
Vielen Dank für Eure Hilfe!!
Gruß,
Luke
habe folgendes Problem:
ich bekomme es nicht hin eine Oracle-Sequenz auf ein nicht-primärschlüssel-Feld zu mappen.
Meinen Primärschlüssel (OID) inkrementiert Hibernate für mich ohne Probleme:
Code:
@Id
@SequenceGenerator(name="JOB_OID_GENERATOR", sequenceName="SEQ_JOB_OID")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="JOB_OID_GENERATOR")
private long oid;
Jedoch habe ich ein weiteres Feld, das über eine Oracle-Sequenz inkrementiert werden soll.
Mein Ansatz:
Code:
@SequenceGenerator(name="JOB_IS_NO_GENERATOR", sequenceName="SEQ_IS_NO")
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="JOB_IS_NO_GENERATOR")
@Column(name="IS_NO")
private BigDecimal isNo;
Ich hatte erwartet daß es so klappen könnte, finde jedoch nirgends Doku dazu (ausser für Primärschlüssel).
Ergebnis: constraint violation weil er NULL einfügt.
Es gibt keine Anhaltspunkte dafür, dass irgendein SequenceGenerator überhaupt den Versuch startet die Sequent für IS_NO zu holen.
Für den primary key OID gibt's Nachrichten wie:
Code:
11:45:43,029 DEBUG [AnnotationBinder] Add sequence generator with name: JOB_OID_GENERATOR
...
11:45:43,982 DEBUG [SequenceGenerator] Sequence identifier generated: 13538
Kann mir jemand sagen wie ich eine Sequenz für einen nicht-Primärschlüssel aus einer Oracle Sequenz generieren lassen kann?
Ist @javax.persistence.SequenceGenerator nür für primary keys gedacht? Wenn ja, kennt jemand die dafür geeignete Klasse / Workarounds?
Umgebung:
Hibernate Commons Annotations 3.1.0.GA
Hibernate Annotations 3.4.0.GA
Hibernate 3.3.0.SP1
JDK 1.4
Oracle9i
Vielen Dank für Eure Hilfe!!
Gruß,
Luke