ich über Code bin mit ID zu generieren:@SequenceGenerator mit allocationSize> 1 erzeugt doppelte Primärschlüssel
@Id
@GeneratedValue(generator = "seqq")
@SequenceGenerator(name = "seqq", sequenceName = "seqq", allocationSize = 20, initialValue = 1)
public long getId() {
return id;
}
ich auch aktualisiert persistence.xml:
<property name="hibernate.id.new_generator_mappings" value="true"/>
und aktualisiert ddl in der Datenbank:
CREATE SEQUENCE seqq
INCREMENT 20
MINVALUE 1
MAXVALUE 9223372036854775807
START 9171
CACHE 1;
Dank dieser allocationSize = 20 ist das gleiche wie Inkrementwert. Ich erhalte jedoch willkürliche Fehler, wenn der doppelte Schlüsselwert die eindeutige Einschränkung "myobjects_pkey" verletzt. Oft tritt dieser Fehler nach dem ersten Versuch auf. Es scheint, dass Hibernate versucht, Entität mit derselben ID zu erhalten. START stellt jedoch sicher, dass die Zeile höher ist als die in der Tabellen-ID vorhandene Zeile. Wie doppelte Constraint-Fehler zu beseitigen?