Występuje problem, w którym mamy podklasy zdarzeń, które generują klucz podstawowy za pomocą GenerationType.TABLE, a po ponownym uruchomieniu serwerów uzyskujemy zduplikowane błędy klucza głównego.Powtórz podstawowy klucz hibernacji przy ponownym uruchomieniu za pomocą GenerationType.TABLE
Używamy SQL Server i Hibernate w wersji 3.5.1-Final.
Oto co nasze adnotacje Hibernate wyglądać następująco:
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Event {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private long eventID;
nie określił allocationSize więc używamy wartość domyślną. Tabela sekwencji hibernacji robi przyrost, ale wygląda na to, że przy ponownym uruchomieniu ponownie wykorzystuje już używane identyfikatory.
Nie można użyć GenerationType.AUTO z InheritanceType.TABLE_PER_SUBCLASS. Google "Nie można użyć generowania kluczy kolumn identyfikacyjnych z odwzorowaniem dla" –
ndtreviv