Nous rencontrons un problème où nous avons des sous-classes d'événements qui utilisent GenerationType.TABLE pour générer la clé primaire, et lorsque nous redémarrons les serveurs, nous obtenons des erreurs de clé primaire en double.Hibernate dupliquer clé primaire au redémarrage en utilisant GenerationType.TABLE
Nous utilisons SQL Server et Hibernate version 3.5.1-Final.
Voici ce que nos annotations Hibernate ressemblent:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Event {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private long eventID;
nous ne précisons pas le allocationSize donc nous utilisons la valeur par défaut. La table des séquences d'hibernation ne s'incrémente pas mais il semble qu'au redémarrage, elle réutilise les ID déjà utilisés.
Vous ne pouvez pas utiliser GenerationType.AUTO avec InheritanceType.TABLE_PER_SUBCLASS. Google "Impossible d'utiliser la génération de clé de colonne d'identité avec le mappage pour" –
ndtreviv