記事と画像の間の関係を持つ JPA エンティティがあります。
Article {
@Id
Long id;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(inverseJoinColumns = @JoinColumn(name = "image_id"))
Set<Image> images;
...
}
Image {
@Id
Long id;
...
}
アーティクルのセットから画像を削除するには、使用するだけthis.images.remove(image)
で、JPA が結合テーブルからの削除を処理します。これで問題ありません。
私が達成したいのは、それを指す記事がなくなったら、Image エンティティも削除されることです。問題は、画像がファイルに保存されていることです。そのため、それらも処理する何らかの種類のハンドラーが必要です。
それを実装する最良の方法は何ですか?