该类需要继承与我们使用的数据库相应的方言类。比如:如果我们用的是MySql(版本为5.x.x),我们需要继承“org.hibernate.dialect.MySQL5Dialect”;如果我们使用的是DB2,那么我们应该继承“org.hibernate.dialect.DB2Dialect”;我用的是SqlServer2008,所以我要继承“org.hibernate.dialect.SQLServerDialect”

import java.sql.Types;

import org.hibernate.Hibernate;

import org.hibernate.dialect.MySQL5Dialect;

/**

* 重写MySQL5Dialect类,注册Types

* @author lz

*

*/

public class MyDialect extends MySQL5Dialect {

public MyDialect(){

super();

registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());

registerHibernateType(Types.LONGVARCHAR,Hibernate.STRING.getName());

registerHibernateType(Types.BINARY,Hibernate.STRING.getName());

registerHibernateType(-1, Hibernate.STRING.getName());

}

}

说明: 如果你的数据库是mysql,而又用了decimal类型,报错应该是 No Dialect mapping for JDBC type: 3 . 注意这个3, 它说明hibernate不能将这种数据类型映射到你的java类中. 就需要在自定义的方言中用到:说明:

如果你的数据库是mysql,而又用了decimal类型,报错应该是 No Dialect mapping for JDBC type: 3 . 注意这个3, 它说明hibernate不能将这种数据类型映射到你的java类中. 就需要在自定义的方言中用到:

registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());

如果你用了text数据类型,hibernate根本就不认识这种数据类型,所以会返回No Dialect mapping for JDBC type: -1

这样的话,就需要在方言中加入:

registerHibernateType(-1,Hibernate.STRING.getName());

com.yourcompany.MyDialect

分享到:

2012-05-31 09:52

浏览 604

评论

重写了mysql5dialect_自定义一个方言类——Hibernate Dialect相关推荐

  1. python 多线程 类_Python中如何自定义一个多线程类呢?

    摘要: 下文讲述Python中自定义一个多线程类的方法分享,如下所示: 实现思路: 1.定义一个类继承threading.Thread 2.在自定义类中构造函数重写run方法 例: Python3中自 ...

  2. python中exception类的_Python自定义一个异常类的方法

    如何实现自定义一个异常 python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误.那么我们编写一个模块也可以为使用此模块者划定红线,来约束使用者可用哪些数据,这就需要自定义异常类 ...

  3. 如何自定义一个异常类

    如何自定义一个异常类 参考文章: (1)如何自定义一个异常类 (2)https://www.cnblogs.com/d1349077083/p/4273188.html (3)https://www. ...

  4. java自定义一个数组类(封装多种方法)

    一.自定义数组类的动机 java给定的数组为静态的,我们是无法对齐进行灵活的操作,比如指定位置添加元素,删除元素,判断是否非空等,于是我们便需要利用"面向对象"的设计模式,自定义一 ...

  5. Python自定义一个异常类【注释详细】

    异常: 下面定义了一个CandleShop类: class CandleShop:name = "Here's a Hot Tip: Buy Drip Candles"def __ ...

  6. Hibernate SQL 方言(hibernate.dialect)

     Hibernate SQL 方言(hibernate.dialect) RDBMS Dialect DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 o ...

  7. 用Python自定义一个时钟类、定时任务类

    分析需求 分析框架 显示时间的类 秒表计时的类 定时任务的类 分析需求 最初,因为使用time模块显示日期时,每次都要设置时间字符串的格式,挺麻烦,但还是忍了. 后来,在处理多线程任务时需要实现定时控 ...

  8. 自定义一个时间类。该类包含小时、分、秒字段与属性,具有将秒增加1秒的方法。

    要求定义一个Time类,包括以下内容. 3个私有字段,表示时.分.秒. 两个构造函数,一个通过传入的参数对时间初始化,另一个获取系统当前的时间. 3个只读属性对时.分.秒的读取. 一个方法用于对秒增加 ...

  9. 安卓开发37:自定义的HorizontalScrollView类,使其pageScroll的时候焦点不选中

    自定义一个HorizontalScrollView类,主要为了让这个HorizontalScrollView不能鼠标点击,不能左右按键,并且没有焦点. public class ImageMoveHo ...

最新文章

  1. escape与encodeURI、encodeURIComponent的区别
  2. Android开发-mac上使用三星S3做真机调试
  3. word表格图片自动适应表格大小_几招教你快速解决word文字、图片、表格排版问题,你肯定遇到过...
  4. StereoRectify()函数定义及用法畸变矫正与立体校正
  5. Linux下redis的安装及用法
  6. 炼丹手册——梯度弥散和爆炸
  7. ios 取出数组中前两个元素_看图学NumPy:掌握n维数组基础知识点,看这一篇就够了...
  8. 设置pyspark 启动时所使用的python版本
  9. bom sap 替代项目_简述SAP系统常规模块能为定制家居企业解决哪些核心问题
  10. 网易云音乐 网络错误 linux,Linux版网易云音乐播放音乐时无限显示“网络错误”的解决办法...
  11. 5.1(电脑技能经验) 美图秀秀批量处理图片大小,针对CSDN博客上传图片要求,小于2M,图片大小设计712*400
  12. storm风暴英雄 tempo_《绝地求生》Tempo Storm北美黑马,掌控战场
  13. Linux | 深入理解X86和小型机,UNIX和Linux
  14. 谈谈架构 -- architect
  15. [附源码]计算机毕业设计JAVAst音乐网站
  16. 关键词、词库、关键词词库
  17. Markdown 中的表格合并单元格
  18. html 表情转换器,HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
  19. 怎样查看自己的IP地址
  20. 等保2.0.第五章.网络安全产品与方案(中)

热门文章

  1. devtools最新安装方法
  2. c语言病毒源代码 小型,来来来,教你一个用C语言写个小病毒
  3. Python 批量加水印只需一行命令
  4. mysql堡垒机漏洞_堡垒机实例以及数据库操作
  5. 智迪科技在创业板上市:市值约31亿元,谢伟明和黎柏松为实控人
  6. 数说CS|北航计算机保研生源大起底!
  7. [附源码]Python计算机毕业设计读书网络社区设计
  8. Gym - 102956C. Brave Seekers of Unicorns
  9. java对接国内1200家快递公司进行快递寄件示例代码
  10. macOS 10.15 安装应用程序失败解决方案