-
Hibernate哄骗@DynamicInsert和@DynamicUpdate天活泼态SQL语句
添加时间:2013-6-25 点击量:比来在应用Hibernate4中,发明两个很有奥秘的注解 @DynamicInsert 和 @DynamicUpdate
若是是在设备文件的话那就是dynamic - 和 dynamic-
这两个注解在必然程度上可以增长与数据库操纵相干的速度,可以节俭SQL语句的履行时候,进步法度的运行效力。
应用这两个注解只须要在实体类上参加即可,或者在.hbm.xml设备。这两个注解是boolean值,true或者false。
1.起首应用false来看一下履行的成果,我们就拿更新来举例:
a.数据库的数据是如许的:
b、实体类的代码
C、测试类代码:
履行测试办法后大师可以看到:
我只更新了Description这个属性,然则却把全部对象的属性都更新了,这在必然程度是影响了效力。并且可能并不是我们的成果,我们的成果是我更改了哪些
字段就只要更新我批改的字段就可以了,接下来我们把@DynamicUpdate(false)改为@DynamicUpdate(true) 测试一下 ,成果如下神奇了,这就是见证古迹的时刻,达到了我们的目标,只更新我们修悔改的字段。@DynamicInsert我就不举例了。
测试之后可以知道:
在Hibernate中可以哄骗@DynamicInsert和@DynamicUpdate天活泼态SQL语句,即在插入和批改数据的时辰,语句中只包含要插入或者批改的字段。
当然还有其他的体式格式达到这种结果,比如应用session为我们供给的merge办法,也是可以的。