Jer*_* S. 18 null hibernate hibernate-mapping hibernate-annotations
在保存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注释.
gka*_*mal 12
您应首先使用DB中的主键加载对象,然后在其上复制或反序列化JSON.
hibernate无法确定具有值null的属性是否已显式设置为该值,或者是否已将其排除.
如果是插入,则dynamic-insert = true应该有效.
| 归档时间: |
|
| 查看次数: |
16714 次 |
| 最近记录: |