瞬态:
如:Product p=new Product(); //瞬态的对象,
new
做查询操作
持久态:save delete p.setPname() 将对象从瞬间变成持久态
做修改的动作 可以不需要 做session.update() 比较累赘
游离态:对象依然存在在内存中 对象属于游离状态 操作 数据的同步的操作
commit只对持久化状态对象做同步
从瞬态变成持久化状态 commit的时候才会同步数据表
检查你当前的内存中的对象和数据表的数据是否是一致的 如果不一致 则自动做操作
@Test
public void get()
{
Product p=new Product(); //瞬态的对象
product = session.get(Product.class, "4028c981638a58ed01638a5911b30003");
Product product2 = session.get(Product.class, "4028c981638a58ed01638a5911b30003");
//从瞬态变成持久化状态 commit的时候才会同步数据表
product.setPname(product.getPname());
//save delete 将对象从瞬态 变成 持久化状态
//做修改的动作 可以不需要 做session.update() 比较累赘
//session.save();
//session.delete();
}
@After
public void end(){
//commit只对持久化状态对象做同步
//检查你当前的内存中的对象和数据表的数据是否是一致的 如果不一致 则自动做操作
session.getTransaction().commit();
//对象依然存在在内存中 对象属于游离状态 操作 数据的同步的操作
product.setPname("小刘的礼盒");
session.close();
sessionFactory.close();
}
@After
public void end(){
//commit只对持久化状态对象做同步
//检查你当前的内存中的对象和数据表的数据是否是一致的 如果不一致 则自动做操作
session.getTransaction().commit();
//对象依然存在在内存中 对象属于游离状态 操作 数据的同步的操作
product.setPname("小刘的礼盒");
session.close();
sessionFactory.close();
}