hibernate 对象四种状态

关于状态有人说是三种状态,有人总结的多了一种删除状态,看个人理解吧

debug运行这个程序。对照数据库,控制台观察对象状态; 对象状态得好好理解,哎

public static void main(String[] args) {
// 实例化配置文件
Configuration configuration = new Configuration().configure();
// 实例化服务登记:构造函数调用构建器配置configuration,返回服务登记类
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
.applySettings(configuration.getProperties()).build();
// 构建SessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
// 创建一个新的session
Session session = sessionFactory.openSession();
// 开启事务
session.beginTransaction();

Student s=new Student();        //new出来时是临时对象,不存在在session中,也没持久化

s.setName("n1");

session.save(s);            //当前并没有持久化,只是在缓存有这个空间;//执行完这一句数据库并没有对应的值

system.out.println(s.getName());   //控制台输出n1

session.delete(s);                        //session计划将数据库这条记录删除,等到提交事务时执行

system.out.println(s.getName());  //控制台输出

session.getTransaction.commit();  //提交事务;并且这条语句执行完数据持久化到数据库

session.close;

sessionFactory.close; 

system.out.println(s.getName());   //控制台输出n1

}

posted @ 2016-06-02 15:29  猫儿36  阅读(1064)  评论(0编辑  收藏  举报