次のような権限を持つモデル クラスUserがあります。List<String>
@LazyCollection(LazyCollectionOption.FALSE)
@CollectionOfElements
@Column()
private List<String> permissions = Collections.emptyList();
次のようなエントリを持つ SQL テーブルが作成されました。

最近、Hibernate 4 にアップグレードしました。@CollectionOfElementsアノテーションが非推奨から完全に削除されたため@ElementCollection、次のように に移行するのに適した時期であると判断しました。
@LazyCollection(LazyCollectionOption.FALSE)
@ElementCollection // << CHANGED
@Column()
private List<String> permissions = Collections.emptyList();
ただし、起動すると、管理者アカウントでログインできませんでした。興味深いことに、H2 の JAR を使用してデータベースを調べたところ、テーブルが変更されていることがわかりました。

私の質問:
@CollectionOfElements古いものから新しいものへの DDL/スキーマの変更の包括的なリストはあります@ElementCollectionか?- 下位互換性を確保するために推奨される方法、またはこれらのプロパティに提供できる追加の注釈はありますか? (特定の名前マッピング スキームまたは列名を指定できますか?)
- 最後に、すべての
Collectionタイプがこの変更Setsの影響を受けると想定Mapsしています。