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
}