Ist es möglich, Hibernate zu zwingen, Diskriminator-Spalte für Vererbung Typ verbunden verwenden? Nach JPA2.0 Spezifikation sollte dies möglich sein, aber ich kann es nicht in Hibernate erreichen.
例
@Inheritance(strategy = InheritanceType.JOINED)
@ForceDiscriminator
@DiscriminatorColumn(name="TYPE")
@Entity
public class Parent
@Entity
@DiscriminatorValue("C")
public class Child extends Parent
Dadurch wird nicht einmal die Spalte TYPE in der Tabelle PARENT erstellt, wenn hibernate.hbm2ddl.auto create verwendet wird.
Ich weiß, dass InheritanceType.JOINED ohne die Definition einer Diskriminatorspalte funktioniert, aber es ist ziemlich ineffektiv, weil Hibernate dann Joins zwischen dem Elternteil und allen Kindern erstellen muss, anstatt nur zwischen dem Elternteil und einem Kind, wenn Informationen in der Diskriminatorspalte verwendet werden.