在我的应用中,我有一个会议对象,其属性存储在会议桌中。 我必须创建一个新对象,让我们说“meetingNEW”具有一些不同的属性,但大多数都是常见的。
我正在考虑使用每个具体类策略的表,但是我想为这两个表分别使用单独的id,而不是从超类继承它。可能吗?我只是找到一个共同身份的例子。
我的想法是: MeetingType - >抽象超类
会议将MeetingType与Meeting_id扩展为PK(表格)
MeetingNEW将MeetingType与meetingNEW_id扩展为PK(表格)
由于
答案 0 :(得分:0)
为什么每个具体的课程策略使用Table?对我来说,似乎是每个子类策略的表,如下所示,带有公共属性的meeting_type表和具有自己的PK id的特定属性的其他表。
@Entity @Inheritance(strategy = InheritanceType.JOINED)
public class MeetingType {
@Id
@Column("meeting_type_id")
public long getId();
}
@Entity @PrimaryKeyJoinColumns({ @PrimaryKeyJoinColumn(name = "meeting_id", referencedColumnName = "meeting_type_id") })
public class Meeting extends MeetingType {
@Column("meeting_id")
public long getMeetingId();
}
@Entity @PrimaryKeyJoinColumns({ @PrimaryKeyJoinColumn(name = "meeting_new_id", referencedColumnName = "meeting_type_id") })
public class MeetingNew extends MeetingType {
@Column("meeting_new_id")
public long getMeetingNewId();
}