博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(动态改变数据源遇到的问题)ORACLE11g:No Dialect mapping for JDBC type: -9解决方案
阅读量:5229 次
发布时间:2019-06-14

本文共 910 字,大约阅读时间需要 3 分钟。

 

在动态改变数据源时 hibernate配置不能使用Oracle官方的方言(org.hibernate.dialect.Oracle10gDialect)

做法写一个方言扩展类,缺什么类型,添加什么类型的支持,并在配置文件中使用自定义的方言扩展类

此次报错:由于hibernate4.2.0和Oracle10g数据库结合使用自定义方言时,需要和老版本做区别,原来的Oracle10gDialect中没有注册NVARCHAR和NCLOB数据类型,

此二者的java.sql.Types对应的类型编码为-9和2011,其它的类型可以参考下面的表1,解决思路是缺少什么类型就在自定义的方言类中注册哪个类型,并且确定用StandardBasicTypes中的类型解析。

 

例子:步骤1、

package cc.dfsoft.uexpress;import java.sql.Types;import org.hibernate.dialect.Oracle10gDialect;import org.hibernate.type.StandardBasicTypes;/** * Created by luxd on 2018/1/19. * 继承oracle方言类 , 重新定义oracle字段类型映射到java的类型 */public class MyOracleDialect  extends Oracle10gDialect{    public MyOracleDialect() {        super();        registerHibernateType(Types.NVARCHAR, StandardBasicTypes.STRING.getName());    }}

  步骤2:

更改hibernate数据库配置文件,将数据库方言改为刚才自定义的方言类

hibernate.dialect=cc.dfsoft.uexpress.MyOracleDialect

各种数据类型编号对照表如下

 

转载于:https://www.cnblogs.com/qinyios/p/11089398.html

你可能感兴趣的文章
SSH框架整合总结
查看>>
图的深度优先遍历
查看>>
C# 之 提高WebService性能大数据量网络传输处理
查看>>
Python面向对象之:三大特性:继承,封装,多态以及类的约束
查看>>
微信小程序实现类似JQuery siblings()的方法
查看>>
md5sum命令详解
查看>>
[bzoj1004] [HNOI2008] Cards
查看>>
使用 Swoole 来加速你的 Laravel 应用
查看>>
TextWatcher原因activity内存泄漏问题
查看>>
Merge into的使用具体解释-你Merge了没有
查看>>
Linux安装程序Anaconda分析
查看>>
如何在chrome上打开SSL3.0
查看>>
应该是实例化对象的没有对属性赋值时,自动赋值为null,但不是空指针对象引用...
查看>>
从网易与淘宝的font-size思考前端设计稿与工作流
查看>>
原生HttpClient详细使用示例
查看>>
几道面试题
查看>>
搜索引擎-SHODAN
查看>>
poj_3159_Candies
查看>>
CentOS目录结构
查看>>
网络爬虫基本练习
查看>>