Как один класс одновременно является InheritanceType.SINGL и InheritanceType.JOINED - PullRequest
0 голосов
/ 25 августа 2018

Существует несколько аннотированных классов JPA, таких как:

@MappedSuperclass
public abstract class BaseEntity<T> implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="sequence_db")
private T id;

//Some other fields with its getter & setter

}

И еще один класс:

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Table(name = "BASE_OFFIC")
@DiscriminatorColumn(name = "discriminator_col")
@SequenceGenerator(name = "sequence_db" , sequenceName = "SEQ_BASE_OFFIC", allocationSize = 1)
public class BaseOffic extends BaseEntity<Integer>{

//Some other fileds here with its getter & setter methods

И третий класс, который расширен от BaseOffic, например:

@Entity
@DiscriminatorValue("real_offic")
public class Offic extends BaseOffic {

//some other fields with its getter & setter

}

Как вы видите, как офицер, так и базовый офицер InheritanceType.SINGLE_TABLE.

С этим дизайном все работало правильно, но я был вынужден выполнить следующую задачу:
Существует четвертый класс, который расширен от класса Offic с Inheritance.JOINED , тогда как текущий дизайн, как вы можете видеть выше, не изменился .

Другая рука, класс Offic - это InheritanceType.SINGLE_TABLE с BaseOffic и Inheritance.JOINED с четвертым классом, который я хочу создать.

Каков правильный синтаксис для этого, чтобы оба сценария работали?

.

РЕДАКТИРОВАНИЕ:
Четвертый класс такой:

public class [class_name] extends Offic {
....
}

Я хочу, чтобы этот класс был наследником. СОЕДИНЕНО с классом Offic

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...