Table per Class

Schuriko

Bekanntes Mitglied
Ich habe eine Klasse A und eine Klasse B, wobei

  • B von A abgeleitet ist
  • Klasse A soll den Datentabellenname "a" bekommen und Klasse B soll den Datentabellenname "B" bekommen
Also eine Table per Class, soweit ich es bis jetzt verstanden habe. Also dachte ich mir schreibst es einfach

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@Table(name="a")
class A
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
;

@Entity
@Table(name="b")
class B extends A
public B() {
super();
}

wobei ich in Klasse B kein id-attribute angebe, da es ja bereits in A definiert ist.

Ich erhalte allerdings eine Fehlermeldung: Cannot use identity column key generation with <union-subclass> mapping for: ...

Wie müsste ich es korrekt schreiben?
 
Ein Problem ist mir jetzt doch noch aufgefallen. Die ID, sprich der Primary Key, wird nicht mehr autoincremented. Wie umgeht ihr dieses Problem?
 

Zurück
Oben