开发者社区> 问答> 正文

JFinal 在使用oracle时候 如何在有表关联的情况下进行查询所有字段?

Page<DevInfo> page = DevInfo.dao.paginate(getParaToInt(0, 1), 20, 
            "SELECT d.*,u.acc_nbr PN",
            "FROM D_DEVINFO  d left join T_USER_INFO u on (d.imsi = u.imsi) ORDER BY d.DEVID DESC");

当有表关联的时候以上分页api会执行不成功。

debug源码拼出来的语句是这样的

select * from ( select row_.*, rownum rownum_ from (  SELECT d.*,u.acc_nbr PN FROM D_DEVINFO  d left join T_USER_INFO u on (d.imsi = u.imsi) ORDER BY d.DEVID DESC ) row_ where rownum <= 20) table_alias where table_alias.rownum_ >= 1

row_.*这里报未明确列

只有在改成"SELECT d.a,d.b....,u.acc_nbr PN"这样列出每一列才能支持分页。

展开
收起
小旋风柴进 2016-06-08 11:01:28 3128 0
1 条回答
写回答
取消 提交回答
  • Oracle 分页的 sql 本身已经嵌套了,所以出现以上面的问题,可能是因为查询的 sql 嵌套与原有的嵌套造成了干扰,或许是列重名了,重点检查一下你Sql中是否有select *造成重名的列。有时间我再看看这个问题,尽可能写出通用的分页 sql

    2019-07-17 19:31:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像