标签:
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