首页 > Web开发 > 详细

hibernate中对象的三种状态:Transient、Persistent和Detached

时间:2015-06-27 16:08:52      阅读:182      评论:0      收藏:0      [点我收藏+]
 1 public class ThreeState {
 2   public static void main(String[] args) {
 3     User u = new User(); //属性:id(对应数据库递增字段),name,age
 4     u.setName("cbirdq");
 5     u.setAge(20); 
 6     //堆内存有u,session缓存没有u,数据库没有u,没有id
 7 
 8     Session session = sessionFactory.getCurrentSession();
 9 
10     session.beginTransaction();
11 
12     session.save(u);
13     //堆内存有u,session缓存有u,数据库有u,有id
14     System.out.println(u.getId());
15 
16     session.getTransaction().commit(); //session关闭,缓存也就没有了
17     
18     //堆内存有u,session缓存没有u,数据库有u,没有有id
19     System.out.println(u.getId());
20   }
21 
22 }

Transient(瞬态的): 刚刚实例化,还没有存入数据库中的实体类对象

Persistent(持久化的): 已经存入到数据库中,在缓存中保存了数据库读取出来的实体类对象

Detached(脱管的): 存入到数据库中,session缓存中没有。

技术分享

hibernate中对象的三种状态:Transient、Persistent和Detached

原文:http://www.cnblogs.com/cbirdq/p/4604146.html

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