DynamicInsert和DynamicUpdate的用法

来源:互联网 发布:网络视频传输协议 编辑:程序博客网 时间:2024/05/17 23:05

在Hibernate中可以利用@DynamicInsert和@DynamicUpdate生成动态SQL语句,即在插入和修改数据的时候,语句中只包括要插入或者修改的字段。

这2项默认是为false的,会更新或者插入所有字段。所以如果表中字段比较多,可以设置为true来开启动态模式,只插入或者更新有变化的字段,可以节省SQL语句的执行时间,提高程序的运行效率。

开启方法:

在hbm.xml 属性里面配置 :
 <class name="XXX" table="XXX" dynamic-update="true" 
dynamic -insert ="true" />

注解配置:

@DynamicInsert(true)
@DynamicUpdate(true)


注意和下面属性的区别

  • insert属性:设置为false,在insert语句中不包含这个字段,表示永远不会被插入,默认true
  • update属性:设置为false,在update语句中不包含这个字段,表示永远不会被修改,默认true
  • mutable属性:设置为false就是把所有的元素的update属性设置为了false,说明这个对象不会被更新,默认true