JPA:@PrimaryKeyJoinColumn(…) は @JoinColumn(…、挿入可能 = ?、更新可能 = ?) と同じですか?

StackOverflow https://stackoverflow.com/questions/4205628

質問

JPA 仕様から派生できますか? @PrimaryKeyJoinColumn(...), は、挿入可能および更新可能なパラメータを持たず、次と同じです。

@JoinColumn(..., insertable = false, updatable = false)

または

@JoinColumn(...、挿入可能 = true、更新可能 = true)

通常の (非継承) 関連付けで使用される場合?交換可能であるべきでしょうか?挿入可能および更新可能なプロパティは何に設定されていますか?そもそも何か設定されているのでしょうか?注意してください、私は両方が実装している(ように見える)読み取り専用属性のみをターゲットにしています...

EclipseLink と Hibernate でかなり一貫性のないマッピング例外が発生します...

こちらが @PrimaryKeyJoinColumn JavaEE 5 + 6 Javadoc:

PrimaryKeyJoinColumn (JavaEE 5)
PrimaryKeyJoinColumn (JavaEE 6)

引用:

...また、参照元エンティティの主キーが参照先エンティティの外部キーとして使用される OneToOne マッピングで使用することもできます。

役に立ちましたか?

解決

はい、この 2 つは同等です。

JPA 2.0 では、 @Id@OneToOne マッピングし、基本 ID 属性が重複することを完全に回避します。

見る

から WikiBooks Java 永続性 ページ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top