hibernate更新某些字段几种update方法

hibernate更新某些字段几种update方法

ID:21191257

大小:36.50 KB

页数:5页

时间:2018-10-20

hibernate更新某些字段几种update方法_第1页
hibernate更新某些字段几种update方法_第2页
hibernate更新某些字段几种update方法_第3页
hibernate更新某些字段几种update方法_第4页
hibernate更新某些字段几种update方法_第5页
资源描述:

《hibernate更新某些字段几种update方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Hibernate更新某些字段的几种update方法(2011-02-1811:33:48)转载标签:字段更改语句属性方法it分类:我的职业--hibernateHibernate中如果直接使用Session.update(Objecto);会把这个表中的所有字段更新一遍。比如:viewplaincopytoclipboardprint?publicclassTeacherTest{     @Test   publicvoidupdate(){         Sessionsession=HibernateUitl.getSessionFactory().getCur

2、rentSession();         session.beginTransaction();         Teachert=(Teacher)session.get(Teacher.class,3);         t.setName("yangtb2");         session.update(t);                   session.getTransaction().commit();     }  }publicclassTeacherTest{@Testpublicvoidupdate(){  Sessionsession=

3、HibernateUitl.getSessionFactory().getCurrentSession();  session.beginTransaction();  Teachert=(Teacher)session.get(Teacher.class,3);  t.setName("yangtb2");  session.update(t);    session.getTransaction().commit();}}Hibernate执行的SQL语句:viewplaincopytoclipboardprint?Hibernate:      update    

4、     Teacher      set         age=?,         birthday=?,         name=?,         title=?      where         id=?Hibernate:   update       Teacher   set       age=?,       birthday=?,       name=?,       title=?   where       id=?我们只更改了Name属性,而Hibernate的sql语句把所有字段都更改了一次。这样要是我们有字段是文本类型,这个类型

5、存储的内容是几千,几万字,这样效率会很低。那么怎么只更改我们更新的字段呢?有三中方法:1.XML中设置property标签update="false",如下:我们设置age这个属性在更改中不做更改viewplaincopytoclipboardprint?在Annotation中在属性GET方法上加上@Column(updatable=false)viewplaincopytoclipboard

6、print?@Column(updatable=false)     publicintgetAge(){         returnage;     }@Column(updatable=false)publicintgetAge(){  returnage;}我们在执行Update方法会发现,age属性不会被更改viewplaincopytoclipboardprint?Hibernate:      update         Teacher      set         birthday=?,         name=?,         title=?

7、      where         id=?Hibernate:   update       Teacher   set       birthday=?,       name=?,       title=?   where       id=?缺点:不灵活····2.第2种方法··使用XML中的dynamic-update="true"viewplaincopytoclipboardprint?

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。