hibernate 中HQL delete 级联问题
来源:互联网 发布:js获取el表达式 编辑:程序博客网 时间:2024/05/13 23:27
假若我要删除用户表的所有用户记录。
使用HQL中使用 delete from User ,因为HQL是绕过session和sessionFactory缓存(如果有的话),
这意味着,session将不会觉察到user的变化,若当时session缓存里有user的数据,那将是过时的数据,库表里已经不存在了。那么session连user不在也不知道,更不用说user一对多关联的 order表的记录了。
因此,使用Hql 删除User时,不会级联删除其包含的order表对应记录。
优点:HQL 是批处理的,绕过session缓存,可以防止因为要处理的记录条数太多导致的内存溢出,同时不用同步缓存,这性能上更优。
缺点:不能级联。且session的缓存是可能有过时数据。
所以,使用完HQL 增删增。最好是对session的缓存进行清空 .session.clear
bill
谢谢阅读 祝你好运!
- hibernate 中HQL delete 级联问题
- hibernate 中hql 的delete和update
- Hibernate HQL 级联查询
- hibernate中关于级联删除的问题
- Hibernate级联操作Cascade学之---delete
- Hibernate级联删除提示约束失败DELETE
- hibernate级联问题
- Hibernate级联关系问题
- hibernate级联删除问题
- Hibernate级联删除问题
- hibernate级联处理问题
- Hibernate HQL 括号问题
- Hibernate hql 查询问题
- HIBERNATE中级联操作
- hibernate中hql查询
- Hibernate 中HQL语句
- hibernate中HQL
- Hibernate 中HQL语句
- 【android】windowmanager LayoutParams
- 烧写U-boot问题
- 搜狐在武汉建研发中心 布局云计算和移动互联网
- Hibernate ehcache配置二级缓存及说明
- 搜狐设立奖学金
- hibernate 中HQL delete 级联问题
- 利用dropbox+Eclipse/myEclipse打造云workspace
- Rose启动提示"java.lang.ClassNotFoundException"的解决
- serialPort 串口通信
- 3 IP:网际协议
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问 .
- Web开发者必知的10个职业常识
- 结构体成员对齐的问题
- html<img>标签的usemap属性