1

有两个父/子关系实体。并且只有孩子的 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 从实体中获取所有属性来验证它是否脏。但我无法child从 ClassMetaData 获取属性,因为它没有配置。

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

4

1 回答 1

1

一些谷歌搜索表明没有“简单”的方法。为此,您需要使用休眠拦截器此博客中解释了您的用例。

于 2013-06-06T13:29:21.517 回答