2016-06-29 26 views
0

Ich habe eine Tabelle in Oracle mit Primärschlüssel und Auto-Inkrement-Attribut. Aber manchmal habe ich ID-Wert für den Datensatz voreingestellt.Einfügen von Daten in Oracle DB

Also, wenn ich versuche, Datensatz einfügen, bekomme ich Ausnahme versuchen Sie, in Tabelle mit Auto-Inkrement-Feld einfügen. So in sqldeveloper habe ich versucht, durch das Auslösen zu deaktivieren und Werte einfügen und dann Trigger ermöglicht die perfekt

ALTER TABLE TABLE_NAME DISABLE ALL TRIGGERS; 
INSERT INTO TABLE_NAME SELECT * FROM ARCHIVE_TABLE_NAME WHERE TABLE_NAME_COLUMN >= '27-JUN-16 10.35.12.945000000'; 
ALTER TABLE TABLE_NAME ENABLE ALL TRIGGERS; 

gearbeitet, aber ich möchte dies durch Hibernate grammatisch tun.

So habe ich folgende Fragen

1) Wenn gibt es eine andere Art und Weise Aufzeichnungen in der Tabelle mit Auto incremtn Bereich des Einsetzens?

2) Wenn nein, dann wie oben 3-Anweisungen in Hibernate auszuführen

Antwort

0

Sie Datensätze mit Autoinkrement Schlüssel unter Verwendung der folgenden JPA-Annotation auf Ihrem Auto erhöht Feld einfügen können

@GeneratedValue(generator="InvSeq") 
    @SequenceGenerator(name="InvSeq",sequenceName="INV_SEQ", allocationSize=5) 
    private long autoIncId; 

diesen Link sehen http://www.oracle.com/technetwork/middleware/ias/id-generation-083058.html

+0

Ich löste es durch Ausführen von oben drei Aussagen unabhängig –