码迷,mamicode.com
首页 > Web开发 > 详细

hibernate中的缓存和快照

时间:2017-07-26 11:32:34      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:new   logs   log   out   获取数据   code   span   ber   技术分享   

1.  获取数据,代码如下:

Customer c1 = session.get(Customer.class,11);
Customer c2 = session.get(Customer.class,11);
System.out.println(c1==c2);

 

2.输出的结果为:   true

 

3.  第一次查询Customer,会将数据从数据库中取出,并封装,放入一级缓存并返回给我们, 第二次查询Person,会直接从缓存中获得,不再查询数据库,这样缓解了数据库的压力。

 

4. 修改数据,代码如下:

Customer c = session.get(Customer.class,11);
c.setCust_name(c.getCust_name());
c.setCust_name("newname");

 

5.其实当我们进行第一句查询时,hibernate把返回的Customer对象一式两份,一份保存到一级缓存,一份保存到快照当中,

然后返回给我们的是缓存中的对象。

 

6.图示如下:

技术分享

 

hibernate中的缓存和快照

标签:new   logs   log   out   获取数据   code   span   ber   技术分享   

原文地址:http://www.cnblogs.com/beibidewomen/p/7238529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!