2013-02-28 3 views
1

Родитель Таблица Удалить Родитель и ребенок в один-многим в Hibernate

<property name="buyerGroupName" type="string"  column="BUYER_GROUP_NAME" /> 
    <property name="description"  type="string"  column="DESCRIPTION" /> 
    <property name="approvalPathId" type="int"   column="APPROVAL_PATH_ID" /> 
    <property name="active"   type="int"   column="ACTIVE" /> 
    <property name="createdOn"   type="timestamp"> 
      <column name="CREATED_ON" length="20" not-null="true" /> 
    </property> 

    <set name="buyers" table="buyers" cascade="all" > 
     <key> 
      <column name="BG_ID" not-null="true" /> 
     </key> 
     <one-to-many class="com.sg.beans.Buyers" /> 
    </set> 


</class> 
    </hibernate-mapping> 

подчиненная таблица Mapping

<hibernate-mapping> 
<class name="com.sg.beans.Buyers" table="buyers" > 
    <id name="id" type="int" column="ID"> 
     <generator class="increment" /> 
    </id> 

    <property name="loginId" type="int" column="LOGIN_ID" /> 

    <many-to-one name="buyerGroup" class="com.sg.beans.BuyerGroup" fetch="select" cascade="all" > 
     <column name="BG_ID" not-null="true" /> 
    </many-to-one> 

</class> 
    </hibernate-mapping> 

Удалить метод .. Передача объекта Parent для удаления

public Boolean deleteBuyerGroup(BuyerGroup bg){ 

    try { 
     session.delete(bg); 
     session.getTransaction().commit(); 
     return true; 
    } catch (Exception e) { 
     e.printStackTrace(); 
     return false; 
    } 
} 

Ниже ошибка

buyerGroup.getBuyerGroupId()1 

    Hibernate: update buyers set BG_ID=null where BG_ID=? 
    org.hibernate.exception.ConstraintViolationException: Column 'BG_ID' cannot be null 

Я сделал отладки и убедилась, что BG_ID устанавливается в значение, которое он ожидает ... Пожалуйста, помогите!

ответ

1

Я думаю, вам нужно будет использовать значение all,delete-orphan на свойстве cascade при отображении вашего родительского объекта. Вы также должны установить ответственную за двунаправленную связь, установив inverse="true" на сопоставление родительского объекта.

+0

Он по-прежнему дает мне ту же ошибку – ashlesha

+0

вы положили: 'cascade = 'all, delete-orphan''? – benzonico

+0

yes Я сделал все это каскад в файле parent.hbm для тега Buyers – ashlesha

Смежные вопросы