■[EJB3.0][挑戦記]OneToOne双方向関連でPK同士を繋ぐ @OneToOne と @PrimaryKeyJoinColumn エンティティはこんな感じ。 テーブルは、こうなってほしい。(MySQL) こういう場合、 @OneToOne と @PrimaryKeyJoinColumn を記述します。 ポイントは、両方のエンティティに @PrimaryKeyJoinColumn を記述することと 所有側エンティティの @OneToOne に optional=false を記述することです。 何故、optional=false を記述するのかというと。 optional は、デフォルトが true 、つまり NULL可 がデフォルトということです。 一方、プライマリキーというものは、NULL不可 なので optional=true だと、プライマリキー同士でリファレンスできなくな