私は休止状態を使用しており、次のような2つのテーブル(レガシー、再構築できません)があります
表 A
@Entity
@Table(name = "tableA")
public Class TableA implements Serializable {
@EmbeddedId private TableAId tableAId;
@OneToOne(mappedBy = "tableA")
private TableB tableB;
// getters, setters, hashCode and equals ommited
}
テーブル A の複合 ID
@Embeddable
public class TableAId implements Serializable {
protected int id1;
protected String id2;
protected int id3;
// getters, setters, hashCode and equals ommited
}
表 B
@Entity
public class TableB implements Serializable {
@OneToOne
@JoinColumn(name = "tableB", referencedColumnName = "id3")
protected TableA tableA;
// getters, setters, hashCode and equals ommited
}
上記のコードでわかるように、テーブルの複合キーの 1 つ以上 (すべてではない) のプロパティを使用して、テーブル B をテーブル A に結合する必要があります。私はすでに次の3つのアプローチで成功していません。
- 上記のコードとまったく同じです。
このような referencedColumnName 値の変更
referencedColumName = "tableAId.id3"
次のように、TableA の pojo エンティティにも複合キーを合成するプロパティを追加します。
// TableA @Column(name = "id1", insertable = false, updatable = false) private Integer id1;
私はこれが可能であれば??、それがあれば助けていただければ幸いです!!