No Dialect mapping for JDBC type 錯誤分析

出現這個問題可能的原因:

1、數據庫字段類型和JAVA類型不匹配。

2、Hibernate中錯誤地配置了數據庫方言。

原因1解決方法:

查看java.sql.Types找到對應的類型。

1 ARRAY 2003
2 BIGINT -5
3 BINARY -2
4 BIT -7
5 BLOB 2004
6 BOOLEAN 16
7 CHAR 1
8 CLOB 2005
9 DATALINK 70
10 DATE 91
11 DECIMAL 3
12 DISTINCT 2001
13 DOUBLE 8
14 FLOAT 6
15 INTEGER 4
16 JAVA_OBJECT 2000
17 LONGNVARCHAR -16
18 LONGVARBINARY -4
19 LONGVARCHAR -1
20 NCHAR -15
21 NCLOB 2011
22 NULL 0
23 NUMERIC 2
24 NVARCHAR -9
25 OTHER 1111
26 REAL 7
27 REF 2006
28 ROWID -8
29 SMALLINT 5
30 SQLXML 2009
31 STRUCT 2002
32 TIME 92
33 TIMESTAMP 93
34 TINYINT -6
35 VARBINARY -3
36 VARCHAR  











































根據此表格可查出是數據庫中哪一種類型不匹配。

解決方法①:

修改數據庫字段類型。

解決方法②:

修改Hibernate配置的數據庫方言。

解決方法③:

使用convert,例如字段deptName的類型爲nvarchar,出現錯誤爲No Dialect mapping for JDBC type:-9

可將nvarchar轉成varchar

select convert(varchar(255),deptName) as deptName from JITDept
as XXX應加上,否則可能會出錯(說多了都是淚啊!)。

原因2解決方法:

正確地配置數據庫方言吧。

發佈了37 篇原創文章 · 獲贊 7 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章