JPA:@PrimaryKeyJoinColumn(…) は @JoinColumn(…、挿入可能 = ?、更新可能 = ?) と同じですか?
-
25-09-2019 - |
質問
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 永続性 ページ
所属していません StackOverflow