package com.wxh.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import com.wxh.dto.Student;
public class Test {
public static void main(String[] args) {
Student s=new Student();
//s.setStuNo(100);
s.setName("旺财");
s.setComingYear(2013);
s.setMajor("考古");
s.setType("本科");
Configuration cfg=new AnnotationConfiguration().configure();
SessionFactory factory=cfg.buildSessionFactory();
Session session=factory.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();//对象处于持久态
session.close();//对象处于游离态
session=factory.openSession();
Student stu=(Student)session.get(Student.class,1 );
session.beginTransaction();
session.delete(stu);
session.getTransaction().commit();
session.close();
}
}
/**
* hibernate对象包含三种状态
* 1瞬时态:
* java对象被创建时,该对象处于瞬时态
* 对象在内存中存在,但是不在数据库存在,与session的实例无关
*
* 2持久态
* java对象被持久的保存在数据库中或者其他持久设备中(文件)
* java在内存中存在,在数据库中存在,与session的实例有关
*
* 3游离态
* java对象被持久的保存在数据库或者其他的持久设备中,但是与session实例不再相关(session被回收/被清空)
* 对象在内存中存在(随时可能被销毁),在数据库中存在,与session实例无关
*/
hibernate中对象的三种状态
最新推荐文章于 2019-10-12 08:47:55 发布