报错:No Dialect mapping for JDBC type: -15

错误的配置了hibernate的方言
通过查询hibernate的源码,找到问题的根本所在,就是hibernate中不支持对应的数据类型,具体数据类型的值,请查看下表

查看 java.sql.Types 类,可以找到对应类型,调整相应的数据库里的类型,或者其他支持这个类型的方言。

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

找到相对应缺少的添加进去即可

package forward.aaa.utils;

import java.sql.Types;

import org.hibernate.dialect.SQLServerDialect;
import org.hibernate.type.StandardBasicTypes;

public class MySQLServerDialect extends SQLServerDialect{
	public MySQLServerDialect () {
        super();
        registerHibernateType(1, "string");     
        registerHibernateType(-9, "string");     
        registerHibernateType(-15, "string");     
        registerHibernateType(-16, "string");     
        registerHibernateType(3, "double");  
          
        registerHibernateType(Types.CHAR, StandardBasicTypes.STRING.getName());     
        registerHibernateType(Types.NVARCHAR, StandardBasicTypes.STRING.getName());
        registerHibernateType(Types.NCHAR, StandardBasicTypes.STRING.getName()); 
        registerHibernateType(Types.LONGNVARCHAR, StandardBasicTypes.STRING.getName());     
        registerHibernateType(Types.DECIMAL, StandardBasicTypes.DOUBLE.getName());
    }
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值