您的位置:首页 > 移动开发

No Dialect mapping for JDBC Type:-9

2015-08-21 08:52 302 查看
原文地址:http://blog.csdn.net/wintersweetsugar/article/details/20693841?utm_source=tuicool

出现这个问题可能的原因:

1、数据库字段类型和JAVA类型不匹配。

2、Hibernate中错误地配置了数据库方言。

原因1解决方法:

查看java.sql.Types找到对应的类型。

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
36VARCHAR
根据此表格可查出是数据库中哪一种类型不匹配。

解决方法①:

修改数据库字段类型。

解决方法②:

修改Hibernate配置的数据库方言。

解决方法③:

使用convert,例如字段deptName的类型为nvarchar,出现错误为No Dialect mapping for JDBC type:-9

可将nvarchar转成varchar

[sql] view
plaincopy





select convert(varchar(255),deptName) as deptName from JITDept  

as XXX应加上,否则可能会出错(说多了都是泪啊!)。

原因2解决方法:

正确地配置数据库方言吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 格式转换