Моя структура классов выглядит так ... У меня есть две отдельные стратегии, реализуемые здесь, но стратегия наследования корневого класса, т.е. InheritanceType.JOINED, используется по всей иерархии ...Смешивание jpa стратегий наследования - inheritanceType.JOINED с inheritanceType.SINGLE_TABLE
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "typeName", discriminatorType = DiscriminatorType.STRING, length = 100)
@Table(name="table_A")
public abstract class A{
...
}
@Entity
@Table(name = "table_B")
@PrimaryKeyJoinColumn(name = "ID_B")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorValue("SVC")
public abstract class B extends A {
...
}
@Entity
@DiscriminatorValue("C")
public class C extends B {
...
}
@Entity
@DiscriminatorValue("D")
public class D extends B {
...
}
Когда я создаю экземпляр «D» и пытаюсь сохраняться его, спящий режим ищет таблицу с именем «D» ...
Я нашел пару людей попросив такие же вопросы ... но ответы мне не помогли ...
mixing joined and single table inheritance and querying for all objects - тот же выпуск ..
How to mix inheritance strategies with JPA annotations and Hibernate? - смешивание single_table с присоединенным .. это не полезно в моем случае.
Я нашел [решение] (http://stackoverflow.com/questions/40679517/how-to-mix-inheritance-type-in- jpa), используя только JPA openJPA без Hibernate. –