该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-07-25
这样,也许更通用一些
public class CommonQuery{ public Object getById(Long id); public List getList(String condition); public Page getPage(String condition,int pageIndex,int pageSize); } ... |
|
返回顶楼 | |
发表时间:2007-07-26
一个问题: 能不能解决openseesioninview问题
|
|
返回顶楼 | |
发表时间:2007-07-26
出门请戴口罩 写道 这样,也许更通用一些
public class CommonQuery{ public Object getById(Long id); public List getList(String condition); public Page getPage(String condition,int pageIndex,int pageSize); } ... 基本上condition用string来表示是不够的 1. 没有类型信息 2. 难以拆分与组装条件/orderby/groupby/聚集函数等,跟hql/sql区别不大 bba96内部有自定义的query对象,解决了以上的问题,至于pageIndex还是startIndex无关紧要,都可以支持 |
|
返回顶楼 | |
发表时间:2007-07-26
Chamjoneu 写道 一个问题: 能不能解决openseesioninview问题
OSIV的什么问题? bba96只是对Criteria的封装,不是要解决什么具体OSIV的问题,不过倒是可以很方便的解决一些由于LAZY引起的n+1的query问题,也就是即使设定了LAZY,用的时候也很方便关闭LAZY,转用fetch方式。 如: student.exercises是one-to-many,一个页面要同时显示student及所属exercise时,非LAZY就就是1条sql,而LAZY时有n个student就有1+n条sql发出,但是在别的地方确实需要LAZY,那么用bba96只要在原来的query部分加一个Fetch条件即可实现非LAZY的效果 |
|
返回顶楼 | |
发表时间:2007-07-27
在java.net上,很早就注意这个项目了
包括了webwork的集成 |
|
返回顶楼 | |
发表时间:2007-07-31
学习一下,感觉不是很好使用,
|
|
返回顶楼 | |
发表时间:2007-08-01
链接无效
|
|
返回顶楼 | |
发表时间:2007-08-01
|
|
返回顶楼 | |
发表时间:2007-08-02
不知道对于没有显示定义的级联查询怎么处理的?
比如一个用户有一个部门属性,当然部门里面是另外一个表里面的,如果这两个表有外键关联倒是没有什么关系了,但是现在很多人设计DB的时候不喜欢去(显示的)定义这个外键(虽然一般会有文档说明,但是在DB这个外键是不存在的) 不好意思:还没有来得及仔细的看 |
|
返回顶楼 | |
发表时间:2007-08-02
minimu 写道 不知道对于没有显示定义的级联查询怎么处理的?
比如一个用户有一个部门属性,当然部门里面是另外一个表里面的,如果这两个表有外键关联倒是没有什么关系了,但是现在很多人设计DB的时候不喜欢去(显示的)定义这个外键(虽然一般会有文档说明,但是在DB这个外键是不存在的) 不好意思:还没有来得及仔细的看 即使DB不定义外键,hibernate也可以关联映射,那就没问题,但如果没有定义hibernate关联,这个情况hibernate也只能对用户的部门属性做直接查询,没法做部门其他属性做关联查询,bba96基于hibernate,自然也处理不好 |
|
返回顶楼 | |