hibernate学习记录(四)hibernate生命周期

/*            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中没有 数据库中有
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值