在我的应用程序中,我有一个会议对象,其属性存储在一个会议表中。我必须创建一个新对象,比如"meetingNEW",它有一些不同的属性,但大多数都是通用的。
我想使用表每个具体的类策略,但我想有两个表单独的id,而不是从超类继承它。这可能吗?我只找到具有共同id的示例。
我的想法是:MeetingType ->抽象超类
Meeting扩展MeetingType,其中Meeting_id为PK (table)
MeetingNEW扩展MeetingType,其中meetingNEW_id为PK(表)
谢谢
为什么使用Table per具体类策略?对我来说,这似乎是每个子类的表策略,如下面的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();
}