jboss ql(如何得到结果集的前n条?)

fingertiploneliness 2004-03-31 02:59:33
对一个EJB定义一个finder方法,想把查询的结果排序后取前n个,该如何写ejb-ql或者jboss-ql?(类似于select top n from ....)

我用的是eclipse2.1.2+jboss3.2+sql server2000,如果能告诉xdoclet怎么写就更好了
...全文
22 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
最后up一次,然后结帖
viano 2004-03-31
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2908/2908810.xml?temp=.6950495
  • 打赏
  • 举报
回复
我想应该支持的,毕竟这是一个比较常用的查询。只是不知道如何实现
Leemaasn 2004-03-31
  • 打赏
  • 举报
回复
我不知道JBoss的eql是不是支持你想要的。
  • 打赏
  • 举报
回复
不是写sql!!是jboss sql
我在jbosscmp-jdbc.xml中如下写jboss-ql:

<query>
<description><![CDATA[ss dd ee ff]]></description>
<query-method>
<method-name>findTopTen</method-name>
<method-params>
</method-params>
</query-method>
<jboss-ql><![CDATA[SELECT OBJECT(N) FROM News AS N ORDER BY N.date]]>
</jboss-ql>

<read-ahead>
<strategy>on-load</strategy>
<page-size>1</page-size>
</read-ahead>
</query>
这样可以进行排序(ejb2.0 ejb-ql不支持order by子句,只能用jboss的扩展),我想取前n个EJB
我不知道<read-ahead>是什么意思,似乎这样也不行。当然可以在迭代结果集的时候记数控制,但是这样似乎不是办法!
free111 2004-03-31
  • 打赏
  • 举报
回复
应该这样: select * from (select * from tablename order by rownum)where rownum<=n)//前n条
chili1979 2004-03-31
  • 打赏
  • 举报
回复
试试 select * from table where num< n 可以嘛

67,513

社区成员

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

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