首页 > Windows开发 > 详细

033_CoreAPI_saveOrUpdate_Clear_Flush

时间:2016-01-07 02:09:44      阅读:208      评论:0      收藏:0      [点我收藏+]

saveOrUpdate()

代码案例:

?

public void TestsaveORUpdate(){

? Teacher t = new Teacher();

t.setName("zhuhw7");

t.setYourWifeName("yourWifeName");

Session session = sf.getCurrentSession();

session.beginTransaction();

session.saveOrUpdate(t);

session.getTransaction().commit();

?

t.setName("zhuhw8");

Session session2 = sf.getCurrentSession();

session2.beginTransaction();

session2.saveOrUpdate(t);

session2.getTransaction().commit();

}

?

?

?

clear()是清除缓存

?

代码案例:

@Test

public void TestClear(){

//从数据库中取出一条数据到缓存中

Session session = sf.getCurrentSession();

session.beginTransaction();

//参数是第一个是转换成哪种类型,第二个参数是实现序列化的-->在这里是id,已经实现的Integer已经实现了序列化

Teacher t = (Teacher)session.load(Teacher.class, 2);

System.out.println(t.getName());

//只执行一次sql,因为第一次执行后,将teache从缓存中取,不需要再次进行执行sql

//clear()是清除缓存,所以这时候会中2此sql

session.clear();

Teacher t2 = (Teacher)session.load(Teacher.class,2);

System.out.println(t.getName());

session.getTransaction().commit();

}

?

?

?

?

?

?

?

?

flush()将缓存中的数据强制与数据库中的数据同步

?

?

@Test

public void TestFlush(){

//从数据库中取出一条数据到缓存中

Session session = sf.getCurrentSession();

session.beginTransaction();

//参数是第一个是转换成哪种类型,第二个参数是实现序列化的-->在这里是id,已经实现的Integer已经实现了序列化

Teacher t = (Teacher)session.load(Teacher.class, 2);

//只在进行提交了,才进行执行update语句

? ? ? /* ?t.setName("ttt");

? ? ? ? t.setName("ttttt");*/

//flush()强制将缓存中的数据与数据库中的数据作同步,这时会执行两天update语句

t.setName("ttt");

session.flush();

? ? ? ? t.setName("ttttt");

?

session.getTransaction().commit();

}

?

执行结果:

?update

? ? ? ? Teacher?

? ? set

? ? ? ? birthdate=?,

? ? ? ? _name=?,

? ? ? ? title=?,

? ? ? ? yourWifeName=?,

? ? ? ? zhicheng=??

? ? where

? ? ? ? id=?

Hibernate:?

? ? update

? ? ? ? Teacher?

? ? set

? ? ? ? birthdate=?,

? ? ? ? _name=?,

? ? ? ? title=?,

? ? ? ? yourWifeName=?,

? ? ? ? zhicheng=??

? ? where

? ? ? ? id=?

033_CoreAPI_saveOrUpdate_Clear_Flush

原文:http://yuzhouxiner.iteye.com/blog/2269041

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!