エンティティ階層構造が休止状態で実装されているシナリオがあります。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
@ManyToOneのLoyエンティティクラスに リンクされているCustomerエンティティクラスがあります。顧客は一度に1つのロイにのみリンクできます。
私が達成したいのは、一意のID(パスポート番号)を使用してCustomerクラスにクエリを実行し、Customerエンティティの@ManyToOneマッピングを介して特定の顧客のLoyを取得することです。
私が抱えている問題は、ロイのどのサブクラスが顧客にリンクされているかわからないことです。
- instanceOfに移動して特定のサブクラスを取得できますが、それを避けたいと思います。
- サブクラスエンティティにビジターパターンを追加することもできますが、これがベストプラクティスかどうかはわかりません。