繁体   English   中英

休眠不更新(合并)对象

[英]Hibernate not updating (merging) object

我的标签对象使我发疯。 我正在尝试更新它,每次执行所有操作似乎都正常,直到检查数据库并且它没有更新为止。

我正在打开所有日志记录,但是看不到任何异常。

即使我创建了全新的对象并尝试在此之后更新(或合并),它也不会显示在数据库中。 它将创建新对象,但不会更新它。

有没有人有类似的问题,您如何解决?

<hibernate-mapping package="com.package">

<class name="com.package.Tag" table="tags" lazy="false" mutable="false" >
    <meta attribute="generated-class">com.package.generated.AbstractTag</meta>
    <meta attribute="scope-class">public abstract</meta>
    <cache usage="read-write"/>

    <id name="id" type="long" column="tag_id">
        <generator class="native"/>
    </id>


    <property name="name" type="string" column="name" unique="true"/>

    <property name="itemCount" type="integer" column="itemCount"/>

</class>

</hibernate-mapping>

当心mutable="false"它使该对象可被应用程序使用:

如此处指定: http : //docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html

可变的(可选-默认为true):指定该类的实例是可变的(不可变)。 不可变的类mutable =“ false”无法由应用程序更新或删除。 这使Hibernate可以进行一些次要的性能优化。

从hbm文件中删除mutable="false"可以解决此问题。

您是否尝试过在商品上设置(并保存)标签,而不是将商品添加到Tag类中?

因此,基本上可以完成数据库所需的工作,首先创建一个Tag(不引用任何项目),然后再创建对Tag的引用的项目(记录)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM