在动态改变数据源时 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

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

最新文章

  1. Android Preference使用
  2. that-annoying-insert-problem-getting-data-into-the-db-using-dapper
  3. CSS 之 Opacity多浏览器透明度兼容处理
  4. python第一天作业
  5. NET在SQL Server中的图片存取技术
  6. 谈layout_gravity和gravity的用法
  7. 学习笔记_Java_day12_设计模式MVC(13).JavaWeb的三层框架(14)
  8. Vue-cli 创建的项目如何跨域请求
  9. Scala:函数式编程之下划线underscore
  10. PHP7 中 ?? 与? :的区别
  11. 根据浏览器判断是下载IOS还是其它的手机安装包
  12. 基本数据类型转String,String转基本数据类型
  13. 在服务器上搭建node环境
  14. Spring再接触 IOC DI
  15. Redis入门到高可用(九)——有序集合zset
  16. SeekBar的用法和自定义滑块的样式
  17. socket agent统一模板
  18. 多个程序对sql server中的表进行查询和插入操作导致死锁
  19. thinkphp5 开启多语言
  20. 并发系列4-大白话聊聊Java并发面试问题之公平锁与非公平锁是啥?【石杉的架构笔记】

热门文章

  1. LG1010 幂次方
  2. Eclipse ALT+/ 代码没有提示功能
  3. B2C网站的系统
  4. mac、windows系统charles安装破解
  5. 力扣算法题—149Max Points on a line
  6. Oracle或PL/SQL自动断开连接解决参考
  7. CentOS 7 安装 nginx1.15
  8. JS综合面试题1
  9. 前端学习(十七)js数组(笔记)
  10. Java对象什么时候可以被垃圾回收?JVM的永久代中会发生垃圾回收么?