Hibernate: doppelter Schlüsselwert verletzt eindeutige Einschränkung
Ich versuche, mithilfe von Hibernate und Java EE einen neuen Datensatz in mein PostGresql einzufügen.
Das ist mein Modell:
@Entity
@SuppressWarnings("serial")
@Inheritance(strategy=InheritanceType.JOINED)
public class BaseDesign implements Serializable {
@Id
@Expose
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Long id;
@Version
@Column(name = "version")
private int version;
@Expose
@Column(name = "name")
private String name;
// getter and setter
}
Und hier ist meine import.sql
INSERT INTO basedesign (id, name, version) VALUES (1, 'China', 0);
Wenn ich den Code erstelle, wird der Datensatz zu db hinzugefügt.
Wenn ich jedoch versuche, einen neuen Datensatz mit EntityManager hinzuzufügen, geschieht Folgendes:
BaseDesign design = new BaseDesign();
design.setName("USA");
em.persist(design);
Ich habe
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "basedesign_pkey"
Detail: Key (id)=(1) already exists.
Führen Sie denselben Befehl zum zweiten Mal aus, und der Vorgang ist erfolgreich.
Warum wird im Ruhezustand die Start-ID beim ersten Mal nicht erhöht? Und wie kann man es so konfigurieren, dass es bei der zuletzt eingegebenen Ganzzahl beginnt?