2009-07-10 10 views
0

Wie kann ich einfügen Anweisungen wie insert into table (sequence.nextval, 'b0) mit Hibernate generieren?Hibernate einfügen in auswählen

Hibernate wählt derzeit den sequence.nextval Wert und nur dann verwendet es den Wert, um den Eintrag in die Tabelle einzufügen.

Hinweis: Ich bin nicht besonders gern benutzerdefinierte ID-Generatoren.

Antwort

0

Wenn Sie Oracle 10-Client oder höher verwenden, überprüfen Sie die Sequence-Identity in den neuesten Hibernate-Versionen, um das zu tun, wonach Sie fragen.

1

Der Ruhezustand wählt sequence.nextval aus, weil er diesen Wert an Sie zurückgeben muss (z. B. ID für Ihre Entität festlegen). Wenn Sie nicht etwas sehr Esoterisches tun, bezweifle ich stark, dass dies einen großen Einfluss auf die Performance hat (z. B. ist es nichts im Vergleich zum tatsächlichen Einfügen). Das heißt, Sie können Hibernate's Sequenz-Hi-Lo-Generator betrachten - es würde nur ab und zu auf die Sequenz zugreifen, anstatt auf jeden Insert.

Verwandte Themen