关于查询的实现!急!(解决马上给分)

meetyou930 2004-06-15 09:14:30
问一个新手问题,一般J2EE程序里面的查询如何实现?
具体说:
发现CMP的home类里面只有按照id来查询的方法,比如 findByPrimaryKey(Short empNo)。
那么,
1、一个表的复杂的查询怎么实现?
2、多个表的复杂的查询怎么实现?
当然,查询语句我会写,就是不知道这些方法应该写在什么地方?或者有什么好的设计模式帮忙?
先谢谢您!
...全文
115 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
armorking2003 2004-06-15
  • 打赏
  • 举报
回复
用ejb实现大量的查询
就会陷入效率陷阱
findByPrimaryKey方法每次只能得到1条记录
而这个调用本身消耗非常多的网络资源
得不偿失

cmp是被设计用来对单表作增删改的
想作多表,大量,或者复杂的查询
可以用dao实现
yesjobjava 2004-06-15
  • 打赏
  • 举报
回复
cmp不支持多表联合查询,可用bmp模式,或者直接写sql 得了
meetyou930 2004-06-15
  • 打赏
  • 举报
回复
谢谢dongjb(光速) 朋友!
说的很好,EJBQL的确有功能上的限制。
但是,这些sql语句写在什么样的类里面,这些类符合什么样的设计模式,是否可以复用呢?
我很关心这些问题!
还请大家多帮忙
dongjb 2004-06-15
  • 打赏
  • 举报
回复
或者在cmp中建立非常好的合理的关联关系,对整个系统的功能通盘考虑后,建立很少的,基本的查询,复杂的查询逻辑在程序中处理
meetyou930 2004-06-15
  • 打赏
  • 举报
回复
谢谢楼上的朋友
我觉得是不是有的时候查询不需要通过Entity Bean来实现,用DAO实现怎么样?
另外:
我正在设计编写一个查询对象生成器(一组类),在项目组之间复用。
哪位朋友给点建议,关于必要行、可行性和实现的初步想法。
谢谢您
dongjb 2004-06-15
  • 打赏
  • 举报
回复
支持多表的联合查询,但是ejbql语法不是很丰富,与sql语句相比功能很差。
建议复杂的查询直接使用jdbc 动态的写sql语句
Arias 2004-06-15
  • 打赏
  • 举报
回复
好像在cmp的结构中不是很支持多表的联合查询的!
在我看的有关cmp结构中直接定义的查询方法都是针对一个单表来实现的!

要实现复杂的查询和多表之间的联合查询的话,必须使用bmp的结构!
dongjb 2004-06-15
  • 打赏
  • 举报
回复
由于dao模式需要考虑很多技术,如事物的处理,而且无对象池管理大量的dao对象等很多因素。
在选中ejb的前提下,cmp也有其优势,问题是怎样来解决它的缺点,既无法实现复杂的功能。
在cmp中建立非常好的合理的关联关系,对整个系统的功能通盘考虑后,建立很少的,基本的查询,复杂的查询逻辑在程序中处理(sessionbean)
至于采取模式进行复用的问题,由于ejb是组建技术,所以只能采用基于关联关系的模式

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧