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

在websphere上访问项目直接报

org.springframework.web.util.NestedServletException: Request processing failed;
org.hibernate.MappingException: No Dialect mapping for JDBC type: -9

一般出现这个异常:
1、数据库字段类型和JAVA类型不匹配。
2、Hibernate中错误地配置了数据库方言。

检查数据库方言没问题。
再查看数据库字段类型和JAVA类型。
查看java.sql.Types找到对应的类型。

编号字段错误代码
第一列文本居中ARRAY第三列文本居左
1ARRAY2003
2BIGINT-5
3BINARY-2
4BIT-7
5BLOB2004
6BOOLEAN16
7CHAR1
8CLOB2005
9DATALINK70
10DATE91
11DECIMAL3
12DISTINCT2001
13DOUBLE8
14FLOAT6
15INTEGER4
16JAVA_OBJECT2000
17LONGNVARCHAR-16
18LONGVARBINARY-4
19LONGVARCHAR-1
20NCHAR-15
21NCLOB2011
22NULL0
23NUMERIC2
24NVARCHAR-9
25OTHER1111
26REAL7
27REF2006
28ROWID-8
29SMALLINT5
30SQLXML2009
31STRUCT2002
32TIME92
33TIMESTAMP93
34TINYINT-6
35VARBINARY-3

我的type: -9,根据上面的表。应该是数据库的NVARCHAR和JAVA类型不对导致的。
检查项目发送请求的数据表,发现数据库的某个字段类型为NVARCHAR,java代码里面用string来接收。
把NVARCHAR改成VARCHAR2类型,再访问项目就不报错了!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值