在保存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注释.