2011-12-05 7 views
0

製品&パッケージ間に親子(一対多)の関係があります。 1つの製品は複数のパッケージを持つことができます。私の 'Edit Product' jspページでは、ユーザーが商品を編集できるようにしています&すべてのパッケージを削除/追加/編集できます。今、私のコントローラメソッドでsaveOrUpdate(製品)をやっている変更を提出します。私が見ていることは、新しいパッケージがDBに追加されていることですが、ユーザーによって削除されたパッケージは、パッケージのSetパッケージではなく、DBから削除されていません。私の趣味の構成スニペットは以下の通りです。私はここに何かを逃していますかHibernateを使用して子オブジェクト/レコードを1対多の関係で削除する

<hibernate-mapping> 
    <class name="author.vo.ProductVO" table="Product"> 
    <id name="ProductID" type="long"> 
      <column name="Product_ID" /> 
      <generator class="increment" /> 
    </id> 
    <set name="packages" inverse="true" cascade="all" lazy="false"> 
    <key column="Product_ID" not-null="true" on-delete="cascade"/> 
    <one-to-many class="author.vo.PackageVO" /> 
    </set> 

コード製品

@Autowired 
private HibernateTemplate hibernateTemplate; 

this.hibernateTemplate.saveOrUpdate(prod); 
+0

コントローラコードを入力してください。 – home

+0

コントローラコードが大きすぎてここに投稿できません。あなたが知りたいと思うものがありますか? – Mady

+0

エンティティがセットから削除されたとき、セッションをフラッシュすると仮定しますか?そうでなければ、それはあなたが欠けているものかもしれません。 – aishwarya

答えて

0

を追加するためのあなたは、なぜあなたが最初にすべての簡単な状況を試していけない、また、あなたのXML設定に「カスケード孤児を削除する」を追加する必要があります。

  1. は、親子での保存作業です。
  2. は親子で動作する削除です。
関連する問題