zoukankan      html  css  js  c++  java
  • hibernate查询异常:No Dialect mapping for JDBC type:-9(sql server)

    今天用到hibernate查询数据库数据(sql server),出现异常:No Dialect mapping for JDBC type:-9

    但是把对应的sql语句拷贝到数据库UI工具运行发现没有错误,所以考虑是hibernate查询的问题。

    最终通过上网查资料发现hibernate对于nvarchar的查询问题,一般在中文系统中应该使用nvarchar作为字符串的对应类型,但是Hibernate中的默认实现SQLServerDialect使用了varchar。

    解决方法:

    1.自定义个一个继承SQLServerDialect的dialect类

    public class MySQLServerDialect extends SQLServer2008Dialect {

       public MySQLServerDialect() {
              super();
              registerHibernateType(Types.NVARCHAR, StringType.INSTANCE.getName());
        }
    }

    2.更改hibernate的配置文件:hibernate1.cfg.xml

    hibernate.dialect的值设为你的dialect实现类

     <property name="dialect">MySQLServerDialect</property>

    重启运行,解决啦!!!!!!

  • 相关阅读:
    内嵌补丁(洞穴代码)
    攻防世界--game
    攻防世界--re1
    upx压缩notepad.exe(运行时压缩)
    crack Tut.ReverseMe1.exe
    HBuilder创建app 基础
    MongoDB 之pymongodb
    MongoDB 基础
    flask POOL,websocket握手
    flask flask_session,WTForms
  • 原文地址:https://www.cnblogs.com/lovechengyu/p/5380344.html
Copyright © 2011-2022 走看看