У меня следующая структура:
@Entity
@Table(name = "Document")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "docType")
@DiscriminatorValue("DOC")
public class Document implements Serializable {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
….
}
@Entity @Inheritance @DiscriminatorValue("CONTRACT")
@Table(name = "Contract")
public class Contract extends Document {
}
Теперь мне нужно реализовать другой модуль с похожей структурой:
@Entity
@Table(name = "Transaction")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "transType")
@DiscriminatorValue("TR")
public class Transaction implements Serializable {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
….
}
@Entity @Inheritance @DiscriminatorValue("SPD")
@Table(name = "Spd")
public class SPD extends Transaction {
}
@Entity @Inheritance @DiscriminatorValue("TD")
@Table(name = "TD")
public class TD extends Transaction {
}
Но вдруг оказалось, что TD должен быть также Document!Теоретически TD также должен расширять Document Но что делать с идентификаторами?Понятия не имею, как ими управлять ...
Заранее спасибо