2つのクラスがFoo
ありBar
、2つの異なるテーブルにマップされており、継承戦略を使用したいのですJOINED
が、2つの非キー列を使用して結合されています。スキーマはかなり奇妙ですが、私はそれに固執しています。これが私の設定です:
@Entity
@Table(name="foo")
@Inheritance(strategy=InheritanceType.JOINED)
public class Foo {
@Id
private Integer uniqueFooId;
@Column(name="column1")
private String column1;
@Column(name="column2")
private String column2;
@Column(name="someValue")
private String someValue;
}
@Entity
@Table(name="bar")
public class Bar extends Foo {
@Id
private Integer uniqueBarId;
@Column(name="column1")
private String column1;
@Column(name="column2")
private String column2;
@Column(name="someOtherValue")
private String someOtherValue;
}
@Inheritanceが結合に使用する列をどのように決定するかはわかりませんが、デフォルトでは主キーを使用すると想定しています。主キー以外の1つの列だけでなく、この場合は2つの列に対してそれらを結合したいと思いcolumn1
ますcolumn2
。
私はこれについて間違った方法で行っているかもしれません。ヘルプや提案をいただければ幸いです。ありがとう!