次のように、会社と製品など、親/子として2つのテーブルを設定しています-
会社のテーブル:-
company_id 、Company_name、creation_date
101、IBM、2010 年 5 月 12 日
製品表:-
company_id、Product_id、Product_name
101、1001、エクリプス
101、1002、DB2
新しい親子 (会社と製品) を保存することは問題ではありません。この問題は、ユーザーが会社のオブジェクトから製品を削除したときに発生します。
Company.java に次の製品マッピング情報があります。
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "COMPANY_ID",nullable=false)
@OrderBy(clause = "PRODUCT_NAME" )
@ForeignKey(name = "fk_company_product")
private List<Product> products = new ArrayList<Product>();
このマッピングにより、製品情報は適切に更新されていますが、会社の Bean から製品を削除して会社を保存すると、製品テーブルから製品情報が削除されません。
ご協力いただきありがとうございます。