动态的生成SQL语句。
例如dynamic-insert。
原本的SQL语句应该是insert into
people(name,age,address) values(“beckham”,36,null)
但是如果在class上加入了dynamic-update=true(默认为false)之后
SQL语句就变成了insert into people(name.age) values(“beckham”,36)。
类似的,Dynamic-update是当更改一个无意义的null之后,即都是null无影响时候可以省略掉本字段。只更新需要更新的字段。
以下摘自 孙卫琴<精通Hibernate.Java对象持久化技术详解>
Hibernate生成动态语句SQL的开销很小,所以不会影响应用的运行性能。如果表中包含许多字段,建议把dynmaic-insert和dynmaic-update属性设置为true。这样,在insert和update语句中就只包含需要插入或者更新的字段,这样可以节省数据库执行SQL语句的时间,从而提高应用的运行性能。