2 つの可能なテーブルからエンティティのフィールドを取得することは可能ですか?
例えば:
@Entity
@Table(name = "TABLE_A")
public class A{
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}
@Entity
@Table(name = "TABLE_B")
public class B{
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
}
@Entity
@Table(name = "TABLE_PARENT")
public class PARENT{
// This field needs to be fetched from A table or from B table!!! by some
// conditions
@OneToOne
@JoinColumn(name = "A_B_ID")
private A a;
}
親クラスのフィールドは、何らかの条件に従って table_A または table_b から取得する必要があります!
どんなアイデアでも大歓迎です!
明確化: 親が実際に B インスタンスを指している場合、B のインスタンスを取得したくありません! クラス継承ごとのテーブルは、親クラスでフィールドが A 型であると指定したため、A のテーブルのみを検索します!?
他のアイデアはありますか?