相关疑难解决方法(0)

如何防止Hibernate更新NULL值

在保存hibernate对象时,hibernate中是否有设置忽略属性的空值

注意
在我的情况下,我通过Jackson将JSON反序列化为Hibernate Pojo.

JSON只包含Pojo的一些字段.如果我保存Pojo,那么不在JSON中的字段在Pojo中为空,而hibernate则更新它们.

我来到了这个环境updateable=false,但这不是100%的解决方案. http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping-property

也许有人有另一个想法......

笔记2:

根据Hibernate Docs,dynamicUpdate 注释正是如此

dynamicInsert/dynamicUpdate(默认为false):
指定应在运行时生成INSERT/UPDATE SQL,并且仅包含值不为null的列.

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#mapping-declaration-class

有趣的是,如果您通过dynamic-update文档在XML中定义它,请不要提及NULL值的hanlding.

dynamic-update(可选 - 默认为false):
指定应在运行时生成UPDATE SQL,并且只能包含值已更改的列.

由于我同时使用注释 xml配置,hibernate似乎忽略了我的dynamicUpdate=true注释.

null hibernate hibernate-mapping hibernate-annotations

18
推荐指数
1
解决办法
2万
查看次数