现在的位置: 首页 > 综合 > 正文

Hibernate插入数据时取字段的默认值,更新时只更新修改过的属性值

2014年03月11日 ⁄ 综合 ⁄ 共 514字 ⁄ 字号 评论关闭

使用Hibernate向数据库插入或更新数据的时候 ,如果想要取到数据库字段的默认值,可以在类的Hibernate映射文件的Class标签中加上dynamic-insert和dynamic-update。如果数据库字段是可以为空且有默认值 的情况下,只要在代码里不给字段赋值,在插入的时候,就可以取到数据库中字段的默认值了。

         其实Hibernate的dynamic-insert和dynamic-update的值为true时,Hibernate动态生成sql语句时,语句中只包含要插入或者修改的字段,这样既可以节省SQL语句的执行时间,又可以提高程序的运行效率.。

        正是因为使用dynamic-insert,Hibernate在动态生成sql语句时只会包含要插入的字段(也就是有值的类的属性)这个原因,所以当不给属性赋值时,insert语句中就不会有这个字段,就可以取到数据库中字段的默认值了。

      Hibernate做update时,若dynamic-update的值为true,在对象从数据库加载到hibernate session的时候会保存一份快照,做更新的时候与这个快照做比较,只更新改动过的值

抱歉!评论已关闭.