/* session 数据库
瞬时状态: 无 无 new出来的对象
持久状态: 有 有 session.save()/update()等方法执行后
游离状态: 无 有 session关闭后;
*/
session.clear();//清除缓存
//new->save->close->UPDATEtry{
Session session = null;
Transaction transaction = null;
try {
session = HibernateUtil.getSession();
transaction = session.beginTransaction();
Test test = new Test("4","5","5"); //瞬时状态、
session.save(test); // 持久状态
//提交事务
transaction.commit();
} catch (HibernateException e) {
e.printStackTrace();
transaction.rollback();
} finally {
HibernateUtil.closeSession(); //游离状态 session中没有 数据库中有
}
try {
session = HibernateUtil.getSession();
transaction = session.beginTransaction();
test.setName("阿呆");
//违规操作,应该先查询再更新,先查询在删除,不然会将其与字段置为空,可以理解为session.update()方法是一个整体更新的方法,
//更新对应的数据中全部的字段,只想更新单个字段需要自己写方法去更新;删除是为了确定数据存在然后删除
session.update(test);
transaction.commit();
} catch (HibernateException e) {
e.printStackTrace();
transaction.rollback();
} finally {
HibernateUtil.closeSession(); //游离状态 session中没有 数据库中有
}