错误原因:使用的是Hibernate映射的数据库方言,数据库字段是NVARCHAR2(),NVARCHAR2()类型映射不到Java数据类型

Oracle10gDialect中没有注册NVARCHAR和NCLOB数据类型

oracle No Dialect mapping for JDBC type-9错误

一、重写方言类  ,重新定义Oracle字段与Java类型的映射

package com.modules.sys.utils;

import java.sql.Types;

import org.hibernate.dialect.Oracle10gDialect;
import org.hibernate.type.StandardBasicTypes;

public class 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());
    }
}

二、修改Hibernate配置文件  dialect指向自定义的方言类

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
   <property name="dataSource" ref="dataSource"/>
   <property name="packagesToScan" value="com.greatmap"/>
   <property name="hibernateProperties">
      <props>
         <prop key="hibernate.dialect">com.modules.sys.utils.MyOracleDialect</prop>
         <prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
         <prop key="net.sf.ehcache.configurationResourceName">${hibernate.ehcache.configFile}</prop>
         <prop key="hibernate.cache.use_second_level_cache">false</prop>
         <prop key="hibernate.cache.use_query_cache">false</prop>
         <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
         <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
         <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
      </props>
   </property>
</bean>

 

 

 

 

相关文章:

  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-15
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-04
  • 2022-12-23
  • 2021-09-06
  • 2021-09-01
  • 2021-05-16
  • 2021-10-18
相关资源
相似解决方案