hibernate opensission.createSQLquery 问题

在进行分页查询的时候,通常会用到,页码,每页容量等等的参数进行操作,如下图:

query.list()的时候会执行得到所需要的集合的值,在这个过程中,

如果使用自定义的返回参数,比如将日期做一些基本处理:

 

 hibernate 执行的语句中会有,“本列标示名称错误”的提示;

正常执行的语句如下:

Hibernate: 

    WITH query AS (SELECT

        inner_query.*,

        ROW_NUMBER() OVER (

    ORDER BY

        CURRENT_TIMESTAMP) as __hibernate_row_nr__ 

    FROM

        ( select

            b.JGJC as page0_,

            a.*,

            CONVERT(varchar(100),

            a.scsj,

            20) as page1_,

            b.yyjgbm as page2_ 

        from

            TB_YYZZ_DIC_DEPARTMENT a 

        INNER JOIN

            TB_YYZZ_DIC_HOSPITAL b 

                on a.YYJGBM=b.YYJGBM   

        where

            1=1 ) inner_query ) SELECT

            * 

        FROM

            query 

        WHERE

            __hibernate_row_nr__ >= ? 

            AND __hibernate_row_nr__ < ?

10

department service

 

这个时候只能通过使用 a.* 来避免错误;

另外,a.* 最好放在sql select的最后面,方便统计观察

posted @ 2018-01-05 13:30  大战风车的男人  阅读(241)  评论(0编辑  收藏  举报