Hibernate映射对象的状态

Hibernate映射对象的状态:

四种状态:

1.临时状态(transient)(瞬态):刚用new 语句创建,还没有被持久化,并且不处于Sesssion 的缓存中。处于临时状态的Java 对象被称为临时对象。
2.持久化状态(persistent):已经被持久化,并且加入到Session 的缓存中。处于持久化状态的Java 对象被称为持久化对象。
3.删除状态(removed):不再处于Session 的缓存中,并且Session 已经计划将其从数据库中删除。处于删除状态的Java 对象被称为删除对象。

4.游离状态(detached):已经被持久化,但不再处于Session 的缓存中。处于游离状态的Java 对象被称为游离对象。

下面以具体的代码来说明这四种状态:

public class Test {  
  
    public static void main(String[] args) {  
        SessionFactory sessionFactory=HibernateUtil.getSessionFactory();  
        Session session=sessionFactory.openSession(); // 生成一个session  
        session.beginTransaction(); // 开启事务  
          
        Person p1=new Person("天天","18","3009"); // 临时对象1  
        Person p2=new Person("小李","23","4009"); // 临时对象1  
  
          
        session.save(p1); // 持久化对象  
        session.save(p2); // 持久化对象  
          
        session.delete(p2); // 删除对象  
          
        session.getTransaction().commit(); // 提交事务  
        session.close(); // 关闭session  
          
        System.out.println(p1.getName()); // 游离对象  
        System.out.println(p2.getName()); // 删除对象  
    }  
      
}  
博客转载于:https://blog.csdn.net/conglinyu/article/details/60152034

猜你喜欢

转载自blog.csdn.net/qq_32575047/article/details/80506235