<?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>当我加载Test对象时,hibernate加载ValueObjects集合。但是当我更新ValueObjects并保存测试时。我没有看到任何insert或Update语句。
PLease建议做些什么。
劳利托
发布于 2013-02-21 16:04:57
在hibernate中,在类及其相关集合中,“可变”默认为“true”,这意味着类或集合被允许添加、更新和删除。另一方面,如果可变被更改为false,则它在类及其相关集合中具有不同的含义。因此,您需要删除可变属性,并将反向属性设置为true。
https://stackoverflow.com/questions/14994365
复制相似问题