Stiamo riscontrando un problema in cui sono presenti sottoclassi di eventi che utilizzano GenerationType.TABLE per generare la chiave primaria e quando riavviamo i server vengono visualizzati errori duplicati della chiave primaria.Hibernate duplica chiave primaria al riavvio utilizzando GenerationType.TABLE
Stiamo utilizzando SQL Server e Hibernate versione 3.5.1-Final.
Ecco quali sono le nostre annotazioni Hibernate assomigliano:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Event {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private long eventID;
non specifichiamo l'allocationSize quindi stiamo utilizzando il valore predefinito. La tabella delle sequenze di ibernazione incrementa ma sembra che al riavvio stia riutilizzando gli ID già utilizzati.
Non è possibile utilizzare GenerationType.AUTO con InheritanceType.TABLE_PER_SUBCLASS. Google "Impossibile utilizzare la generazione della chiave della colonna Identity con mapping for" –
ndtreviv