Java 休眠不更新(合并)对象
我有一个让我发疯的标签对象。我正在尝试更新它,每次我做的一切似乎都正常,直到我检查了数据库,它没有更新 我打开了所有的日志记录,但我没有看到任何异常 即使在我创建了一个全新的对象并尝试立即更新(或合并)之后,它也不会显示在数据库中。它将创建新对象,但不会更新它 有没有人遇到过类似的问题?你是如何解决的Java 休眠不更新(合并)对象,java,hibernate,foreign-keys,Java,Hibernate,Foreign Keys,我有一个让我发疯的标签对象。我正在尝试更新它,每次我做的一切似乎都正常,直到我检查了数据库,它没有更新 我打开了所有的日志记录,但我没有看到任何异常 即使在我创建了一个全新的对象并尝试立即更新(或合并)之后,它也不会显示在数据库中。它将创建新对象,但不会更新它 有没有人遇到过类似的问题?你是如何解决的 <hibernate-mapping package="com.package"> <class name="com.package.Tag" table="tags" laz
<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>
com.package.generated.AbstractTag
公开摘要
您是否尝试过在项目上设置(并保存)标记,而不是将项目添加到标记类中
因此,基本上要执行数据库所需的操作,首先创建一个标记(不引用项),然后创建引用该标记的项(记录)。注意
mutable=“false”
它使应用程序可以修改对象:
如此处所述:
可变(可选-默认为true):指定类的实例是(不)可变的。应用程序无法更新或删除不可变类mutable=“false”。这允许Hibernate进行一些小的性能优化
从hbm文件中删除
mutable=“false”
修复了这个问题。如果您发布一些类似hbm文件(如果有的话)和相关java代码,这会很有帮助。我已经准备好为这一点大发雷霆了。我一直在试图弄明白为什么我的对象的更改一天多没有得到更新。我打开了自动提交,将刷新添加到我的saveOrUpdate方法中,等等。没有任何帮助。非常感谢你发布这篇文章。