JPA ::多重继承

时间:2011-06-14 07:08:07

标签: inheritance jpa

我有以下结构:

@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还应该扩展文档但是如何处理ID呢?不知道如何管理它们......

提前致谢

0 个答案:

没有答案