从数据库加载实体的同时,您的实体很可能变得“肮脏”,并且Hibernate认为它需要存储更改。如果您的访问器(get和set方法) 未返回与
Hibernate设置的 值或引用完全相同的值 ,则会发生这种情况。
在我们的代码中,列表发生了这种情况,开发人员创建了新的列表实例,因为他们不喜欢设置器中的类型。
如果您不想更改代码,请将映射更改为字段访问。
您还可以通过将FlushMode设置为从不在会话上来防止Hibernate存储更改,但这只会隐藏真正的问题,在其他情况下仍然会发生此问题,并且会导致不必要的更新。



