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

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

时间:2015-06-27 16:11:55      阅读:144      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!