0

データベースレコードにはそれらへのパスのみを保持しながら、画像を外部ファイルに保存します。しかし、適切なレコードが削除された場合、ファイルを削除したいと思います。

ファイルの削除で削除アクションを拡張するにはどうすればよいですか?

4

2 に答える 2

0

ハイバネートインターセプターを使用できます。

一般に、EmptyInterceptor を拡張し、同様の形式でメソッドを上書きする必要があります。

public void onDelete(Object entity, Serializable id, 
    Object[] state, String[] propertyNames, 
    Type[] types) {

    System.out.println("onDelete");

    if (conditionOnFileDeletionIsMet()){
        deleteFile();
    }
}

より詳細な例は、ここここにあります。ドキュメントはこちらです。

于 2015-08-29T19:55:51.677 に答える
0

複数の問題があります。

  • ファイルを削除できない場合はどうすればよいですか? データベース エントリを削除する必要がありますか?
  • トランザクションが失敗した場合はどうなりますか?
  • ファイルが既に削除されている場合はどうなりますか?

データベース自体にバイトデータを保存できませんか?

于 2012-09-27T08:42:21.163 に答える