0

@EmbeddableMapで をマッピングする例が 2 つあります。

http://hwellmann.blogspot.com/2010/07/jpa-20-mapping-map.html

http://www.objectdb.com/api/java/jpa/MapKeyColumn

一人は言う

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

そしてもう一人は言う

@MapKeyColumn(...) // without insertable = false, updatable = false

どちらが正しいか誰か教えてください。

4

1 に答える 1

2

@Embeddableのマッピングに関する例は 2 番目のみです。1 つ目は、Map<String, String>要素のコレクションに関するものです。組み込み可能要素は含まれていません。

2 番目の要素で挿入可能および更新可能が false に設定されている理由は、要素コレクションの「言語」プロパティが、マップのキーとマップの値の両方を介してアクセスできるためです。それらのうちの 1 つを読み取り専用として保存すると、マップのキーと「言語」プロパティで競合するデータから保存されます。

Map<String, String>マップのキーのみが一度だけマップされるため、insertable および updateable を false に設定する必要はありません。

于 2012-05-17T06:50:17.780 に答える