現在、MSSQL から Oracle に移行しており、すべてのテーブルに hibernate_sequence を使用したくありません。各テーブルには独自のシーケンスが必要です。
私たちはすでにテスト環境で変更を行っていますが、私たちのソリューションが安全に使用できるかどうか、追加情報を入手したいと思います..
ほとんどのクラスは baseentities から拡張されていますが、いくつかのスタンドアロン エンティティもあります。
変更点:
-baseentities(@MappedSuperclass):
changed: @GeneratedValue(strategy = GenerationType.AUTO)
to: @GeneratedValue(strategy = GenerationType.AUTO, generator = "HIBERNATE_GENERATOR")
-拡張エンティティ:
added after the @Table annotation:
@SequenceGenerator(name = "HIBERNATE_GENERATOR", sequenceName = "${TABLENAME}_SEQ")
-スタンドアロン エンティティ:
@Table 注釈の後に追加:
@SequenceGenerator(name = "HIBERNATE_GENERATOR", sequenceName = "${TABLENAME}_SEQ")
changed : @GeneratedValue(strategy = GenerationType.AUTO)
to: @GeneratedValue(strategy = GenerationType.AUTO, generator = "HIBERNATE_GENERATOR")
そのため、常に同じジェネレーター名 "HIBERNATE_GENERATOR" を使用していますが、sequenceNames のみが異なります。私たちのアプリケーションは正常に動作しているように見えますが、常に同じジェネレーター名を使用しても安全ですか?