“硬伤”系列已经是炒得烂熟了,所以取这样的名字也是有点怕怕;不过在行业内混了几年,最近看花前柳下的文章少了,发现竟然取不出更好的名字,将就吧,呵呵。
以前用HQL比QBC多,网上都说QBC功能比HQL少,我也一直有这个感觉,但是从来没有总结过:QBC到底比HQL差在哪里呢?最近实现DAS标准,终于“全面”总结了一把。
1)一定要在HBM中有关联,才能用到关联的对象的属性。如果没有关联,就只能用本对象的简单属性。
如果A和B对象没有关联,是不能一起查询的。HQL就没有这个缺点。
2)如果有projection,关联一定要取别名。
3)别名一定不能和 HBM配置的关联属性名称相同。说起来也有道理,为什么要取个和自己名称相同的别名呢?但是....为什么就不可以呢?
4)如果主对象和从对象的有相同的属性,那么在criterion中,使用主对象可以直接写属性名称,使用从对象一定要用 关联的属性的别名(用原名是不可以的哦)。
5)如果主对象和从对象的有相同的属性,那么在projection中,使用主对象可以直接写属性名称,使用从对象一定要用 关联的属性的别名(用原名是不可以的哦)。
6)如果主对象和从对象的有相同的属性,那么在order中,使用主对象可以直接写属性名称,使用从对象一定要用 关联的属性的别名(用原名是不可以的哦)。
呵呵,不用怀疑,说的就是hibernate的最新的3.2版的QBC。不过HQL也有个比较严重的问题:必须传入数据类型;还好的是,我们已经从sessionFactory的cache中,取到了数据类型了。
分享到:
相关推荐
QBC的各种查询,采用mvc多hibernate的封装,是很好的资料
Hibernate criteria queris 条件查询(QBC)转 Hibernate QBC查询 QBC分页查询大全
部分qbc方法 比较运算符
Hibernate_QBC查询
QBC高级查询加快来了来了来了来了来了来了来了来的说法第三方的说法都是十分的舒服
QBC的相关讲义和例题 QBC(Query By Criteria)查询方式是Hibernate提供的“更加面向对象”的一种检索方式。QBC在条件查询上比HQL查询更为灵活,而且支持运行时动态生成查询语句。
Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码 Hibernate(HQL、QBC查询)源码
收录了QBC_hibernate完整用法.大家可以下载看看.作为参考.
HQL与QBC的查询条件(33k)
使用Hibernate的QBC查询,对数据库内容进行分页查询,在控制他显示,可跳转转的页面
Hibernate QBC高级查询 大家放心收藏! saivixky出品!必属精品!
// 1.查询所有 // 2.条件查询 // 3.模糊查询 // 4.范围查询 // 5.排序查询(order by) // 6.分页查询 // 7.投影查询(只获取部分字段的结果) // 8.聚集函数使用(聚合函数)(count、sum、avg、max、min等) ...
java QBC常用方法
NULL 博文链接:https://wfq5154.iteye.com/blog/1714952
Java_Hibernate QBC条件查询对比
Hibernate实例开发 HQL 与 QBC 查询
QBC.QBE查询 hibernate提供的更加面向对象的查询方式 希望对你有所帮助
Hibernate_QBC查询[归类].pdf
IEEE Std 802.1Qbc-2011 Amendment 16 Provider Bridging— Remote Customer Service Interfaces
KPTD-3216QBC-D 蓝光 带球头1206 Kingbright 今台 发光二极管