sql >> データベース >  >> RDS >> Oracle

オラクルの休止状態シーケンス、@ GeneratedValue(strategy =GenerationType.AUTO)

    これらの注釈は、2つのシーケンスを作成するのではなく、1つだけを作成します。これは正しい/期待されていますか?

    これが予想される動作です。 @GeneratedValue(strategy = GenerationType.AUTO)を使用する場合 、JPAプロバイダーは、特定のデータベースに適切な戦略を選択します。 Oracleの場合、これはSEQUENCEになります。何も指定しなかったため、Hibernateはhibernate_sequenceと呼ばれる単一のグローバルシーケンスを使用します。 。

    これは正しいです?まあ、わかりません、それはあなたのニーズに依存します。念のため、Oracleシーケンスのデフォルトの最大値は1E + 27、つまり1,000,000,000,000,000,000,000,000,000です。多くの人にとってはそれで十分です。

    これで、GenerationType.AUTOを使用できるようになりました データベースがシーケンスを使用する場合でも、シーケンスの名前を制御します。

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO, generator="my_entity_seq_gen")
    @SequenceGenerator(name="my_entity_seq_gen", sequenceName="MY_ENTITY_SEQ")
    private Long id;
    


    1. さまざまなSQLServerインスタンスのSSMSでステータスバーの色を設定する方法-SQLServer/TSQLチュートリアルパート6

    2. MySQLmy.iniの場所

    3. SQL JOINとINのパフォーマンス?

    4. MS Access:長所と短所