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

Hibernate+oracleシーケンス+トリガー

    で、応答が見つかりましたシーケンスからIDを生成するためのOracleTriggerのHIbernateの問題

    IDが指定されていない場合にのみ実行するようにトリガーを調整する必要があります:

    CREATE OR REPLACE TRIGGER A_TRG
    BEFORE INSERT
    ON A REFERENCING NEW AS New OLD AS Old
    FOR EACH ROW
    WHEN (New.IDS is null) -- (1)
    BEGIN
      :new.IDS := A_SEQ.nextval;
    END A_TRG;
    /
    

    (1)この行により、Hibernateは手動でA_SEQ.nextValを呼び出してIDを設定し、トリガーをバイパスできます。そうしないと、トリガーが常にnextvalを呼び出すIDをリセットするため、Hibernateはnextvalを無用に取得します



    1. カスタムテキスト検索構成のシソーラス辞書を正しく作成する方法

    2. PostgresBDR9.4.1を使用したDjango1.8の移行

    3. 初心者向けのSSISチュートリアル:なぜ、何を、どのように?

    4. Moodle用のPostgreSQLを監視するためのヒント