Hibernate:我怎么知道孩子们是不是很脏?

时间:2013-06-05 10:38:39

标签: hibernate

有两个父/子关系实体。 并且只在child的hbm.xml文件中有映射配置。像这样:

    <many-to-one 
    name="child"
    class="com.Child"
    update="true"
    insert="true"
    cascade="save-update">
        <column not-null="false" name="PARENT_ID"></column>
   </many-to-one>

父hbm.xml中没有<one-to-many>配置。

现在我想使用ClassMetaData从实体获取所有属性以验证它是否脏。但我无法从ClassMetaData获取child属性,因为它没有配置。

但是当我使用session.saveAndUpdate(parentEntity)时,Hibernate知道孩子很脏并且可以更新脏子实体。 Hibernate如何做到这一点?反正我是否可以获得子实体的脏状态?

1 个答案:

答案 0 :(得分:1)

一些谷歌搜索显示没有“简单”的方式。您需要使用hibernate interceptors。您的用例在this blog中解释。