参考了http://www.iteye.com/topic/580476的文章,解决问题。
在此记录一下:
我的SQLServer数据库中表的字段是nvarchar(1),升级到2008上也是nvarchar(1)出现了
运行的时候报错:No Dialect mapping for JDBC type:-9
解决方法如下:
1.首先自己写一个class,继承org.hibernate.dialect.SQLServerDialect
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.SQLServerDialect;
public class SqlServer2008Dialect extends SQLServerDialect {
public SqlServer2008Dialect() {
super();
registerHibernateType(Types.CHAR, Hibernate.STRING.getName());
registerHibernateType(Types.NVARCHAR, Hibernate.STRING.getName());
registerHibernateType(Types.LONGNVARCHAR, Hibernate.STRING.getName());
registerHibernateType(Types.DECIMAL, Hibernate.DOUBLE.getName());
}
}
2:修改配置文件application.xml:
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
com.***.***.***.util.SqlServer2008Dialect
</prop>
</props>
</property>
注:其他的数据类型请参考下表
类型名称 |
显示长度 |
数据库类型 |
JAVA类型 |
JDBC类型(int) |
Types属性 |
VARCHAR |
L+N |
VARCHAR |
java.lang.String |
12 |
Types.VARCHAR |
CHAR |
N |
CHAR |
java.lang.String |
1 |
Types.CHAR |
BLOB |
L+N |
BLOB |
java.lang.byte[] |
-4 |
Types.LONGVARBINARY |
TEXT |
65535 |
VARCHAR |
java.lang.String |
-1 |
Types.LONGVARCHAR |
INTEGER |
4 |
INTEGER UNSIGNED |
java.lang.Long |
4 |
Types.INTEGER |
TINYINT |
3 |
TINYINT UNSIGNED |
java.lang.Integer |
-6 |
Types.TINYINT |
SMALLINT |
5 |
SMALLINT UNSIGNED |
java.lang.Integer |
5 |
Types.SMALLINT |
MEDIUMINT |
8 |
MEDIUMINT UNSIGNED |
java.lang.Integer |
4 |
Types.INTEGER |
BIT |
1 |
BIT |
java.lang.Boolean |
-7 |
Types.BIT |
BIGINT |
20 |
BIGINT UNSIGNED |
java.math.BigInteger |
-5 |
Types.BIGINT |
FLOAT |
4+8 |
FLOAT |
java.lang.Float |
7 |
Types.REAL |
DOUBLE |
22 |
DOUBLE |
java.lang.Double |
8 |
Types.DOUBLE |
DECIMAL |
11 |
DECIMAL |
java.math.BigDecimal |
3 |
Types.DECIMAL |
BOOLEAN |
1 |
同TINYINT |
java.lang.Integer |
-6 |
Types.TINYINT |
DATE |
10 |
DATE |
java.sql.Date |
91 |
Types.DATE |
TIME |
8 |
TIME |
java.sql.Time |
92 |
Types.TIME |
DATETIME |
19 |
DATETIME |
java.sql.Timestamp |
93 |
Types.TIMESTAMP |
TIMESTAMP |
19 |
TIMESTAMP |
java.sql.Timestamp |
93 |
Types.TIMESTAMP |
YEAR |
4 |
YEAR |
java.sql.Date |
91 |
Types.DATE |
分享到:
相关推荐
Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm7Dictionary.jar dm_jdbc\Dm7JdbcDriver14....dm_jdbc\Hibernate Dialect&JDBC;.txt dm_jdbc\version.txt
最新达梦数7据库jar包&方言包,maven依赖jar包 DM达梦数据库jdbc-jar包dialect方言jar包
kingbaseV8 hibernate jdbc 驱动
SQLServer2008Dialect 优化了原来的分页查询数据方法以及在生成SQL时表后增加了with(nolock)
Vertx JDBC 执行器 JDBC Executor 为通过 Vertx 3.0 事件总线访问任何符合 JDBC 的数据源提供了一种快速有效的方法。... dialect: "", pool: { jdbcUrl: "jdbc:hsqldb:mem:testdb", username: "sa", p
#hibernate.dialect org.hibernate.dialect.H2Dialect #hibernate.connection.driver_class org.h2.Driver #hibernate.connection.username sa #hibernate.connection.password #hibernate.connection.url jdbc:h2:...
simplified-dialect-wy-vscode:简化的方言wenyan-lang的vscode插件
Sap HaNa 数据库链接 jar包。可自定义Maven坐标 添加到私有库 想不要积分,CSDN 最低要求1积分 #mvn install:install-file -Dfile=C:\work\hanajdbclib\ngdbc...#hibernate.dialect=org.hibernate.dialect.SAPDBDialect
class:oracle.jdbc.driver.OracleDriver url:"jdbc:oracle:thin:@localhost:1521:jbitdb","epet","epet" sqlserver: class:com.microsoft.sqlserver.jdbc.SQLServerDriver url:"jdbc:sqlserver://localhost:1433;...
2.2、打开此文件,将“<property name="hibernate.connection.url">jdbc:sqlite:D:/EGSDatabase.egsdata”一行中的数据库文件("D:/EGSDatabase.egsdata")修改为合适的数据库文件。 注:附件包含了...
神通数据库的jdbc驱动jar包,从自己安装的神通数据库中复制出来,亲测可以使用,分享给需要的人 jdbc.driverClassName=com.oscar.Driver jdbc.url=jdbc:oscar://ip:端口/数据库名称 hibernate.dialect=...
Java连接达梦数据库驱动dm_jdbc: dm_jdbc\...dm_jdbc\Hibernate Dialect&JDBC;.txt dm_jdbc\version.txt 网上的dm的jdbc驱动分太贵了,完全脱离了分享宗旨。我只收1分,评论后,分好像还能挣回去
基于GO语言实现的仿gorm的一个操作SQL数据库的框架源代码
各类数据库JDBC连接代码 例如:## MySQL #hibernate.dialect org.hibernate.dialect.MySQLDialect #hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect #hibernate.dialect org.hibernate.dialect....
SQLAlchemy Dialect for SAP HANA
注意社区提供的是For Oracle8.1.7的JDBC驱动,如果使用Oracle9,需要更换JDBC驱动。 SQL Server安装 用bbscs6_sqlserver.sql建表 datasource.driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver ...
Flink1.14.4自定义flink-connector-jdbc连接SQLServer和SAP数据库
达梦8JDBC驱动分为DmJdbcDriver16、DmJdbcDriver17、DmJdbcDriver18,分别对应Jdk1.6、Jdk1.7、Jdk1.8; 达梦8提供不同hibernate和jdk版本的方言包,用户可根据开发环境选择对应的方言包版本,相关方言包驱动在...
人大金仓kingbase 驱动jdbc