我有一个场景,我有一个在休眠中实现的实体层次结构。它是 InheritanceType.JOINED
父类:
@Entity
@Table(name = "LOY")
@Inheritance(strategy=InheritanceType.JOINED)
public class Loy implements Serializable
子类边界
@Entity
@Table(name = "LOY_BOUNDARY")
@PrimaryKeyJoinColumn(name="ID")
public class LoyBoundary implements Serializable
儿童班级百分比
@Entity
@Table(name = "LOY_PERCENTAGE")
@PrimaryKeyJoinColumn(name="ID")
public class LoyPercentage implements Serializable
我有一个Customer 实体类,它链接到@ManyToOne中 的Loy 实体类。客户一次只能与一个 Loy 关联。
我想要实现的是,我想用唯一的 id(护照号码)查询 Customer 类,然后通过 Customer 实体中的 @ManyToOne 映射获取特定 Customer 的 Loy 。
我遇到的问题是我不知道 Loy 的哪个子类与客户相关联。
- 我可以去 instanceOf 获取特定的子类,但我想尝试避免它。
- 我还可以在子类实体中添加访问者模式,但不确定这是否是最佳实践。