论坛首页 Java企业应用论坛

基于hibernate的开源通用查询框架 -- bba96介绍

浏览 38010 次
该帖已经被评为精华帖
作者 正文
   发表时间:2007-08-03  

说一下个人看法,对于用hibernate的hql,基本的单表查询是非常便利快捷的,也是值得向项目组成员推荐的用法。但是在业务逻辑复杂、关联表多的模块中,用hql无异于给自己增加很多麻烦--构造一个高效的查询语句就会费很多功夫(毕竟一个项目组里的成员水平总会参差不齐的)。所以我建议对于单表查询通过findByExample()实现,而其他的查询还是用标准化SQL,毕竟hibernate的主要亮点还是在对象关系的管理中。

0 请登录后投票
   发表时间:2007-08-17  
1.没试过
2.criteria还未实现having,你可以参考
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1043
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1700
其中1700似乎在oracle10G可以用
0 请登录后投票
   发表时间:2007-08-17  
谢谢你的回复,那两个连接我都看了
http://opensource.atlassian.com/projects/hibernate/browse/HHH-1700  的实现不太好,整个having条件的参数都自己组装,就像就存在不同数据处理不同的问题,还有那个project一定要放到最后面一个,不然会出错(因为他直接写入的having的条件)
第二个的实现方式倒是可以,不过要改hibernate的包,这一点不太好,每一个新的版本都要人工改一次代码,再进行测试
为什么这个功能hibernate不提供呢?
0 请登录后投票
   发表时间:2007-09-07  
还未用过,学习中,楼主能否发一个具体点的使用实例呢?
0 请登录后投票
   发表时间:2007-11-08  
用这个东西居然要求你的pojo全都要继承它的一个接口persitable,估计就这一点就没人用它了
0 请登录后投票
   发表时间:2007-11-12  
hua0424 写道
用这个东西居然要求你的pojo全都要继承它的一个接口persitable,估计就这一点就没人用它了

你从哪里得出的这个结论?bba96基本框架没有对pojo做任何要求。
0 请登录后投票
   发表时间:2007-11-15  
根据就是在圈子里下载的 bba96-src-2.3.0中,GenericsEntityManager是这么定义的:
public class GenericsEntityManager<T extends Persistable> extends AbstractEntityManager

这个类包含了大部分操作吧,对泛类型T的要求是必须实现Persistable接口
0 请登录后投票
   发表时间:2007-11-15  
hua0424 写道
根据就是在圈子里下载的 bba96-src-2.3.0中,GenericsEntityManager是这么定义的:
public class GenericsEntityManager<T extends Persistable> extends AbstractEntityManager

这个类包含了大部分操作吧,对泛类型T的要求是必须实现Persistable接口


哦,对的,这个依赖忘记去掉了,谢谢提醒,这个Persistable是空接口,我晚点提交一下代码,去掉这个依赖
0 请登录后投票
   发表时间:2007-11-15  
呵呵,原来是BUG啊。。。还有一点,在看findByExpQL的时候发现会把传入的语句变成小写,请问目的是什么?我看了一下,好象这个是执行HQL的,转成小写后就不对了(类名区别大小写)
0 请登录后投票
   发表时间:2007-11-15  
hua0424 写道
呵呵,原来是BUG啊。。。还有一点,在看findByExpQL的时候发现会把传入的语句变成小写,请问目的是什么?我看了一下,好象这个是执行HQL的,转成小写后就不对了(类名区别大小写)

多谢,看了一下,确实是有一个bug,是在分页时计算count的时候作了一个toLowerCase的操作,今天一并fix掉
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics