hibernate中关于对象的三种状态
1:自由态:session空间中没有这个对象(该对象没有纳入了session的管理范围),数据库中也没有与之对应的数据
2:持久态:session空间中有这个对象(该对象纳入了session的管理范围),数据库中有与之对应的数据
持久态的数据 对象中的属性值与数据库中的数据保持一致 ,如果不一致会发生同步更新 发送修改语句
3: 游离态:session空间中没有这个对象(该对象没有纳入了session的管理范围),数据库中有与之对应的数据
例如:
test t=s.get(test.class, 2);
t.setAge(12);//持久态
test t=s.get(test.class, 2);
将对象踢出session
s.evict(t);
t.setAge(13);//游离态
重新拉入session中
s.update(t);//变回持久态
s.delete(t);//删除后变为自由态