您的位置:首页 > 其它

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

2013-08-15 11:07 861 查看
使用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的时候会保存一份快照,做更新的时候与这个快照做比较,只更新改动过的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐