我在父级和子级Java对象之间具有one-to-many
关系。父对象使用java.util.List
存储多个子对象。我遇到的问题是在将一个或多个子对象添加到父对象的List
之后更新父对象时。我正在使用saveOrUpdate
方法保存或更新父级。如果我要保存父对象的新实例,它可以很好地工作,但是在保存之后,我尝试将子对象添加到父对象List
中,然后尝试在父对象上调用saveOrUpdate
,但是没有任何条目子对象被持久化到数据库中。我只是想要一些指针。注意:我没有使用注释。 Parent.hbm.xml的一个片段,它定义了一对多单向关系:
<list name="children" cascade="all">
<key column="parent_id"/>
<index column="idx"/>
<one-to-many class="Child"/>
</list>
最佳答案
我只是想重现此示例,它对我来说效果很好。
这是我的映射:
<hibernate-mapping package="com.example.domain">
<class name="com.example.domain.Parent" table="PARENT">
<id name="id" column="parent_id" access="field">
<generator class="increment" />
</id>
<property name="name" column="parent_name" access="field" />
<list name="children" access="field" cascade="all">
<key column="parent_id" not-null="true" />
<index column="idx" />
<one-to-many class="Child" />
</list>
</class>
</hibernate-mapping>
<hibernate-mapping package="com.example.domain">
<class name="com.example.domain.Child" table="CHILD">
<id name="id" column="child_id" access="field">
<generator class="increment" />
</id>
<property name="name" column="child_name" access="field" />
</class>
</hibernate-mapping>
我在父映射中添加了
not-null="true"
。您是否尝试在休眠配置中设置
show_sql
以查看生成的SQL?关于java - hibernate 一对多单向映射列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3924357/