2010-12-13 8 views
1

Ich habe eine Sequenz in meiner Oracle-Datenbank definiert. Kann ich mit Hibernate aus dieser Sequenz ziehen? Ich möchte nicht die Reihenfolge für das Generieren von IDs für meine Objekte verwenden, also sind @GeneratedValue und @Id nicht die Dinge, nach denen ich suche.Ziehen von Oracle-Sequenz mit Hibernate

Antwort

2

Etwas wie folgt aus:

<sql-query name="sequenceValue"> 
    <return alias="mySeq" class="MySequences"/> 
     select my_schema.seq_myid.nextval as mySeq from dual 
    </sql-query> 
+0

Wie machen wir es aus hbm Datei? – Rachel

2

Haben Sie versucht:

select my_schema.seq_myid.nextval from dual; 

Dies wird ein ein Rekordergebnis gesetzt mit dem nächsten Wert in der Sequenz zurück. Sie können dann

select my_schema.seq_myid.currval from dual; 

verwenden, um den aktuellen Wert der Sequenz zu erhalten.

+0

Die zentrale Frage meiner Frage lautet: "... mit Hibernate". – tobiasbayer

+0

Ich verstehe, aber ich glaube nicht, dass Hibernate explizit das tut, was Sie tun möchten. Daher führen Sie die Abfrage aus (mit Hibernate) und Sie erhalten die Daten, nach denen Sie suchen. –

Verwandte Themen