org.hibernate.MappingException: No Dialect mapping for JDBC type: -9(-*)

SqlServer 异常类型:

public final static int BIT   -7;
public final static int TINYINT   -6;
public final static int SMALLINT =   5;
public final static int INTEGER   4;
public final static int BIGINT   -5;
public final static int FLOAT   6;
public final static int REAL   7;
public final static int DOUBLE   8;
public final static int NUMERIC   2;
public final static int DECIMAL   3;
public final static int CHAR   1;
public final static int VARCHAR   12;
public final static int LONGVARCHAR   -1;
public final static int DATE   91;
public final static int TIME   92;
public final static int TIMESTAMP   93;
public final static int BINARY   -2;
public final static int VARBINARY   -3;
public final static int LONGVARBINARY   -4;
public final static int NULL   0;
public final static int OTHER   = 1111;
public final static int JAVA_OBJECT         =2000;
public final static int DISTINCT             = 2001;
public final static int STRUCT               =2002;
public final static int ARRAY               =2003;
public final static int BLOB                 = 2004;
public final static int CLOB                 = 2005;
public final static int REF                 = 2006;
public final static int DATALINK = 70;
public final static int BOOLEAN = 16;
public final static int ROWID = -8;
public static final int NCHAR = -15;
public static final int NVARCHAR = -9;
public static final int LONGNVARCHAR = -16;
public static final int NCLOB = 2011;
public static final int SQLXML = 2009;



org.hibernate.MappingException: No Dialect mapping for JDBC type: -9


查阅资料,这个是由于JAVA对应数据库类型映射问题,-9是NVARCHAR 类型映射不了,


根据自己的方言加上:


RDBMS方言

DB2org.hibernate.dialect.DB2Dialect
DB2 AS/400org.hibernate.dialect.DB2400Dialect
DB2 OS390org.hibernate.dialect.DB2390Dialect
PostgreSQLorg.hibernate.dialect.PostgreSQLDialect
MySQLorg.hibernate.dialect.MySQLDialect
MySQL with InnoDBorg.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAMorg.hibernate.dialect.MySQLMyISAMDialect
Oracle (any version)org.hibernate.dialect.OracleDialect
Oracle 9i/10gorg.hibernate.dialect.Oracle9Dialect
Sybaseorg.hibernate.dialect.SybaseDialect
Sybase Anywhereorg.hibernate.dialect.SybaseAnywhereDialect
Microsoft SQL Serverorg.hibernate.dialect.SQLServerDialect
SAP DBorg.hibernate.dialect.SAPDBDialect
Informixorg.hibernate.dialect.InformixDialect
HypersonicSQLorg.hibernate.dialect.HSQLDialect
Ingresorg.hibernate.dialect.IngresDialect
Progressorg.hibernate.dialect.ProgressDialect
Mckoi SQLorg.hibernate.dialect.MckoiDialect
Interbaseorg.hibernate.dialect.InterbaseDialect
Pointbaseorg.hibernate.dialect.PointbaseDialect
FrontBaseorg.hibernate.dialect.FrontbaseDialect
Firebird

org.hibernate.dialect.FirebirdDialect


public class SqlServer2008Dialect extends MySQL5Dialect{

     public SqlServer2008Dialect(){

          super();
          registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());

          registerHibernateType(-1, Hibernate.STRING.getName());
    }

}


在属性文件配置:

<property name="hibernate.dialect" value="XXXXX(自己的包名.SqlServer2008Dialect)" />


就行了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值