1
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC  "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-   mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.business.Test" table="Test">
    <composite-id name="key">
        <key-property name="x" column="X"/>
        <key-property name="y" column="Y"/>
    </composite-id>

    <set name="valueObjects" inverse="false" lazy="false" cascade="all">
        <key>
            <column name="X"/>
            <column name="Y"/>          
        </key>
        <one-to-many class="com.business.ValueObjects" />
    </set>

</class>
</hibernate-mapping>




<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="com.business.ValueObjects" table="ValueObjects" mutable="false">
    <id name="id" type="java.lang.Long" column="ID">
      <generator class="sequence">
          <param name="sequence">ID_SEQ</param>
      </generator>
    </id>

    <property name="x" column="X"/>
    <property name="y" column="Y"/>

</class>
</hibernate-mapping>

When i load the Test object, hibernate loads the ValueObjects collections. But when i update the ValueObjects and save Test. I dont see any insert or Update statements.

PLease suggest what to do.

Raulito

4

1 に答える 1

2

休止状態では、クラスとそれに関連するコレクションの「<strong>可変」はデフォルトで「<strong> true」になります。これは、クラスまたはコレクションが追加、更新、および削除できることを意味します。一方、ミュータブルfalseに変更された場合、クラスとそれに関連するコレクションでは意味が異なります。したがって、可変属性を削除し、属性をtrueに設定する必要があります。

于 2013-02-21T08:04:57.117 に答える