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

アップデートカスケードを使用したHibernateSoftDelete

    Hibernateでソフト削除を実現する最良の方法は、クラスで@SQLDeleteアノテーションを使用することです。

    マッピングがカスケード削除に設定されていることを確認してください

    session.delete(yourClass)を呼び出すと、ソフト削除が実現するはずです

    休止状態のドキュメント>

    //used to overide the normal delete behavior
    @SQLDelete(sql="UPDATE (table_name) SET deleted = '1' WHERE id = ?")
    //optional Use this to exclude deleted element from get 
    @Where(clause="deleted <> '1'")
    //OR (Filter may also be used if you need to load deleted items occasionally)
    @FilterDef(name="ProductFilter",defaultCondition="deleted <> 1 ")
    



    1. 列の列指定子が正しくありません

    2. 大量のデータに対応するPostgreSQLのスケーリング

    3. MySQLの制限範囲

    4. mysql_real_escape_stringは未定義です