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