一. 问题:No Dialect mapping for JDBC type: -8
解决方法:1. rowid对应的columnType为-8,将rowid视作一个字段值
2. 重写org.hibernate.dialect.Oracle9Dialect类,代码如下
package com.importdate.base;
import org.hibernate.dialect.Oracle9Dialect;
public class Oracle9iOr10gDialet extends Oracle9Dialect{
public Oracle9iOr10gDialet(){
super();
super.registerColumnType(-8, "string"); //rowid对应的columnType为-8,将rowid视作一个字段值
super.registerHibernateType(-8, "string");
}
}
3. 配置数据连接数据方言指向:com.datasource.dblinkinit.Oracle9iOr10gDialet
配置位置:com.datasource.config.hibernate.cfg.xml
<!--指定连接的语言-->
<property name="dialect">com.datasource.dblinkinit.Oracle9iOr10gDialet</property>
<!-- 连接池结束 -->