解决NoDialect mapping for JDBC type: -9
1、 描述
本项目使用JEECG开源框架开发,其中hibernate4.2.0,Oracle10g数据库,tomcat7.40,jdk7,ojdbc6.jar札包连接数据库,在tomcat7启动时报错如下图所示。
2、 解决方案
在此处建一个包,org.hibernate.myDialect,并在此包下面建一个类MyOracleDialect.java。
(1)创建org.hibernate.myDialect
(2)建类MyOracleDialect.java
(3)MyOracleDialect.java中的代码
packageorg.hibernate.myDialect;
importjava.sql.Types;
importorg.hibernate.dialect.Oracle10gDialect;
importorg.hibernate.type.StandardBasicTypes;
publicclass MyOracleDialect extends Oracle10gDialect{
public MyOracleDialect() {
super();
registerHibernateType(Types.CHAR,StandardBasicTypes.STRING.getName());
registerHibernateType(Types.NVARCHAR,StandardBasicTypes.STRING.getName());
registerHibernateType(Types.LONGNVARCHAR,StandardBasicTypes.STRING.getName());
registerHibernateType(Types.DECIMAL,StandardBasicTypes.DOUBLE.getName());
registerHibernateType(Types.NCLOB,StandardBasicTypes.STRING.getName());
}
}
(4)找到hibernate的配置文件
(5)更改数据库配置文件,将数据库方言改为刚才自定义的方言类