Hibernate Session的delete方法
来源:互联网 发布:淘宝添加客服的代码 编辑:程序博客网 时间:2024/05/02 00:10
Hibernate Session的delete方法
- 本文介绍Hibernate Session的delete()方法。delete()方法用于从数据库中删除与Java对象对应的记录。对应游离对象和持久化对象,delete语句会做出不同的反应。
delete()方法用于从数据库中删除与Java对象对应的记录。如果传入的参数是持久化对象,Session就计划执行一个delete语句。如果传入的参数是游离对象,先使游离对象被Session关联,使它变为持久化对象,然后计划执行一个delete语句。值得注意的是,Session只有在清理缓存的时候的才执行delete语句。此外,只有当调用Session的close()方法时,才会从Session的缓存中删除该对象。
例如以下代码先加载一个持久化对象,然后通过delete()方法将它删除:
- Session session1 = sessionFactory.openSession();
- Transaction tx1 = session1.beginTransaction();
- // 先加载一个持久化对象
- Customer customer = (Customer)session.get(Customer.class, new Long(1));
- session.delete(customer); // 计划执行一个delete语句
- txt1.commit(); // 清理缓存,执行delete语句
- session.close();子// 从缓存中删除Customer对象
以下代码直接通过delete()方法删除一个游离对象:
- Session session2 = sessionFactory.openSession();
- Transaction tx2 = session1.beginTransaction();
- // 假定customer是一个游离对象,先使它被Session关联,使它变为持久化对象,
- // 然后计划执行一个delete语句
- session2.delete(customer);
- tx2.commit(); // 清理缓存,执行delete语句
- session2.close(); // 从缓存中删除customer对象
如果希望删除多个对象,可以使用另一种重载形式的delete()方法:
- session.delete("from Customer as c where c.id>8");
以上delete()方法的参数为HQL查询语句,delete()方法将从数据库中删除所有满足查询条件的记录。
- Hibernate Session的delete()方法
- Hibernate Session的delete方法
- (hibernate之三)session的delete方法
- Hibernate Session的delete()方法
- HIbernate里session的delete()方法
- hibernate session的delete
- hibernate session.delete方法原理
- hibernate学习笔记(八)Session的delete方法
- hibernate session 的save,get,update,delete 方法
- hibernate的delete方法
- Hibernate学习笔记(3):session的get、load、delete方法和Query的简单使用
- Hibernate的Session接口中delete/update方法2个参数(entityName)的深入解析
- (hibernate之三)session的delete方法(转的学习用)
- Hibernate的Session接口中save/delete/update方法2个参数(entityName)的深入解析
- hibernate session的方法
- Hibernate中 session.delete()疑问?
- Hibernate Session的save()方法
- Hibernate session的方法全集
- iPhone SDK开发 文件权限获取及修改
- Solaris下C++安装环境的安装
- iPhone完整截屏
- xp下实现窗体透明特效SetLayeredWindowAttributes函数
- 防挂马
- Hibernate Session的delete方法
- combox值作为筛选条件
- vc 如何把多个工程建在一个工作空间里
- 摘要的写法
- 说说简单的NL连接可能面临的性能问题
- Ubuntu Fcitx输入法安装
- Linux互斥锁、条件变量和信号量
- 二叉树建议
- linux socket中的地址转换、返回值和setsockopt()来控制recv()与send()的超时