2012-04-25 5 views
3

ファイルシステムに保存されているイメージを参照するImageエンティティ(Spring Roo/JPA)があります。 Imageエンティティが永続ストアから削除されたときにそれらのファイルを削除したいと思います。JPA/Spring Roo:エンティティが永続ストアから削除されたときに呼び出されるデストラクタイベントはありますか?

それぞれのイメージエンティティに手動のremove()メソッドをコードして、それ自体とその参照ファイルを削除させることができますが、そのメソッドを使用して手動でイメージを削除した場合にのみ機能します。所有エンティティが削除されたとき、または画像が削除されたときに画像がカスケード削除されたときには、明らかに起動しません。entityManager.remove()を呼び出してください。

エンティティがデータベースから削除されるときに呼び出されるメソッドやイベントはありますか?

答えて

3

はいあります。一般に、これらの方法はlifecycle callback methodsと呼ばれています。あなたの場合は、ポスト削除コールバックメソッドが必要です。これは、(@EntityListeners注釈を経て、その後参照)別のクラスに、または直接あなたのエンティティに配置することができます。

詳細について
@PostRemove 
protected void postRemoveOperations() { 
    //remove images here 
} 

かによって、@PreRemoveはより便利です。

+0

ありがとうございます!そのページはまさに私が探していたものです。 –

関連する問題