zoukankan      html  css  js  c++  java
  • 使用hibernate中的hql进行分页设置setMaxResults(int a)出错,索引1越界,hql执行不了等等问题

    HQL分页,执行的时候报错

    Parameter index out of range (1 > number of parameters, which is 0)

    刚开始以为是HQL错误,各种调试,各种报错,自己把HQL全删除,不加入变量,发现仍然错误。在网上找各种方式测试,发现都不行。

    最后把setMaxResults()注释掉,正确执行,换上自己的HQL,也完美运行,最终确定不是HQL的错误。

    开始以setMaxResults()出错为关键词搜索,发现这位博友和我有类似的问题(地址:http://blog.csdn.net/zcswl7961/article/details/51323299),出现在hibernate数据库方言设置上。

    hibernate.cfg.xml中设置如下部分

    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

    如果是使用spring代理,下为C3P0连接池

    <bean id="SessionFactory"
            class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
            <property name="dataSource">
                <ref bean="dataSource" />
            </property>
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">
                        org.hibernate.dialect.MySQL5Dialect
                    </prop>
                </props>
            </property>
            <property name="mappingResources">
                <list>
                                <value>xxx.hbm.xml</value>
                </list>
            </property>
        </bean>        

    请核对是否与相关的数据库对应。

    下面是网友的对应表(原文:http://blog.csdn.net/jialinqiang/article/details/8679171

    以下是各数据库对应的方言(Dialect):

    数据库

    方言(Dialect)

    DB2

    org.hibernate.dialect.DB2Dialect

    DB2 AS/400

    org.hibernate.dialect.DB2400Dialect

    DB2 OS390

    org.hibernate.dialect.DB2390Dialect

    PostgreSQL

    org.hibernate.dialect.PostgreSQLDialect

    MySQL5

    org.hibernate.dialect.MySQL5Dialect

    MySQL5 with InnoDB

    org.hibernate.dialect.MySQL5InnoDBDialect

    MySQL with MyISAM

    org.hibernate.dialect.MySQLMyISAMDialect

    Oracle(any version)

    org.hibernate.dialect.OracleDialect

    Oracle 9i

    org.hibernate.dialect.Oracle9iDialect

    Oracle 10g

    org.hibernate.dialect.Oracle10gDialect

    Oracle 11g

    org.hibernate.dialect.Oracle10gDialect

    Sybase

    org.hibernate.dialect.SybaseASE15Dialect

    Sybase Anywhere

    org.hibernate.dialect.SybaseAnywhereDialect

    Microsoft SQL Server 2000

    org.hibernate.dialect.SQLServerDialect

    Microsoft SQL Server 2005

    org.hibernate.dialect.SQLServer2005Dialect

    Microsoft SQL Server 2008

    org.hibernate.dialect.SQLServer2008Dialect

    SAP DB

    org.hibernate.dialect.SAPDBDialect

    Informix

    org.hibernate.dialect.InformixDialect

    HypersonicSQL

    org.hibernate.dialect.HSQLDialect

    H2 Database

    org.hibernate.dialect.H2Dialect

    Ingres

    org.hibernate.dialect.IngresDialect

    Progress

    org.hibernate.dialect.ProgressDialect

    Mckoi SQL

    org.hibernate.dialect.MckoiDialect

    Interbase

    org.hibernate.dialect.InterbaseDialect

    Pointbase

    org.hibernate.dialect.PointbaseDialect

    FrontBase

    org.hibernate.dialect.FrontbaseDialect

    Firebird

    org.hibernate.dialect.FirebirdDialect

  • 相关阅读:
    Java 中的 TreeSet
    自定义全局异常处理器(Java)
    GitHub Open Feign 使用总结
    搭建 Maven 仓库
    MySQL 的 SQL 笔记
    一道算法题:查找数组 arr 中第 k 小的奇数
    Java 的参数传递
    接口限流的几种算法
    Java 实现一个自定义分布式 Session
    函数反汇编
  • 原文地址:https://www.cnblogs.com/aocshallo/p/6363037.html
Copyright © 2011-2022 走看看