私は休止状態AとBに2つのエンティティを持っています。 1次キーを使用して1対1の結合を休止する
@Entity
public class A {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;
@OneToOne(mappedBy = "a", cascade = CascadeType.ALL)
private B b;
}
@Entity
public class B {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Integer id;
@Column(name = "a_id")
@GeneratedValue(generator = "gen")
@GenericGenerator(name = "gen", strategy = "foreign", parameters = @Parameter(name = "property", value = "a"))
private Integer aId;
@OneToOne(fetch = FetchType.LAZY, optional = false)
@PrimaryKeyJoinColumn
private A a;
}
は、私は、次のHQLクエリを実行するとき、は、参加
"from A a left join a.b"
は、以下の条件
で撮影され、 one to one mapping using primary key join columnただし、下記のリンクで述べたのと同じでした
a.id = b.id
種牡馬は、クラス内のフィールドbにクラスBの
@OneToOne(fetch = FetchType.LAZY, optional = false)
@PrimaryKeyJoinColumn
private A a;
とクラスBをフィールドする
@OneToOne(mappedBy="a", cascade=CascadeType.ALL)
private B b;
をクラスAの参照を与えている以下の条件
a.id = b.aId
あなたは答えとして私の返事をマークしてくださいでしょう:あなたがそうする必要がある場合は、次のようにではないに挿入していない更新可能なそれらのいずれかを行う必要がありますか? –