Hibernate - Table 每个具体 class 策略 - 每个 table 的单独 ID

Hibernate - Table per concrete class strategy - separate IDs for each table

在我的应用程序中,我有一个会议 object,其属性存储在会议 table 中。 我必须创建一个新的 object,比方说 "meetingNEW" 具有一些不同的属性,但大多数都是通用的。

我正在考虑使用 table 每个具体的 class 策略,但我想为两个 table 使用单独的 ID,而不是从超级class。是否可以?我只查找具有通用 ID 的示例。

我的想法是: 会议类型 -> 抽象超级class

会议扩展了 MeetingType,Meeting_id 作为 PK (table)

MeetingNEW 将 MeetingType 扩展为 meetingNEW_id 作为 PK (table)

谢谢

为什么每个具体的 class 策略都使用 Table?对我来说,似乎 table 每个 subclass 策略如下所示,meeting_type table 具有共同属性,其他 table 具有特定属性和自己的 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();
}