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办法,也是可以的。


     

    我俩之间有着强烈的吸引力。短短几个小时后,我俩已经明白:我们的心是一个整体的两半,我俩的心灵是孪生兄妹,是知己。她让我感到更有活力,更完美,更幸福。即使她不在我身边,我依然还是感到幸福,因为她总是以这样或者那样的方式出现在我心头。——恩里克·巴里奥斯《爱的文明》
    分享到: