重写了mysql5dialect_自定义一个方言类——Hibernate Dialect
该类需要继承与我们使用的数据库相应的方言类。比如:如果我们用的是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相关推荐
- python 多线程 类_Python中如何自定义一个多线程类呢?
摘要: 下文讲述Python中自定义一个多线程类的方法分享,如下所示: 实现思路: 1.定义一个类继承threading.Thread 2.在自定义类中构造函数重写run方法 例: Python3中自 ...
- python中exception类的_Python自定义一个异常类的方法
如何实现自定义一个异常 python内置了许多异常类,为编写代码划定红线,才使调试代码时能及时发现错误.那么我们编写一个模块也可以为使用此模块者划定红线,来约束使用者可用哪些数据,这就需要自定义异常类 ...
- 如何自定义一个异常类
如何自定义一个异常类 参考文章: (1)如何自定义一个异常类 (2)https://www.cnblogs.com/d1349077083/p/4273188.html (3)https://www. ...
- java自定义一个数组类(封装多种方法)
一.自定义数组类的动机 java给定的数组为静态的,我们是无法对齐进行灵活的操作,比如指定位置添加元素,删除元素,判断是否非空等,于是我们便需要利用"面向对象"的设计模式,自定义一 ...
- Python自定义一个异常类【注释详细】
异常: 下面定义了一个CandleShop类: class CandleShop:name = "Here's a Hot Tip: Buy Drip Candles"def __ ...
- Hibernate SQL 方言(hibernate.dialect)
Hibernate SQL 方言(hibernate.dialect) RDBMS Dialect DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 o ...
- 用Python自定义一个时钟类、定时任务类
分析需求 分析框架 显示时间的类 秒表计时的类 定时任务的类 分析需求 最初,因为使用time模块显示日期时,每次都要设置时间字符串的格式,挺麻烦,但还是忍了. 后来,在处理多线程任务时需要实现定时控 ...
- 自定义一个时间类。该类包含小时、分、秒字段与属性,具有将秒增加1秒的方法。
要求定义一个Time类,包括以下内容. 3个私有字段,表示时.分.秒. 两个构造函数,一个通过传入的参数对时间初始化,另一个获取系统当前的时间. 3个只读属性对时.分.秒的读取. 一个方法用于对秒增加 ...
- 安卓开发37:自定义的HorizontalScrollView类,使其pageScroll的时候焦点不选中
自定义一个HorizontalScrollView类,主要为了让这个HorizontalScrollView不能鼠标点击,不能左右按键,并且没有焦点. public class ImageMoveHo ...
最新文章
- escape与encodeURI、encodeURIComponent的区别
- Android开发-mac上使用三星S3做真机调试
- word表格图片自动适应表格大小_几招教你快速解决word文字、图片、表格排版问题,你肯定遇到过...
- StereoRectify()函数定义及用法畸变矫正与立体校正
- Linux下redis的安装及用法
- 炼丹手册——梯度弥散和爆炸
- ios 取出数组中前两个元素_看图学NumPy:掌握n维数组基础知识点,看这一篇就够了...
- 设置pyspark 启动时所使用的python版本
- bom sap 替代项目_简述SAP系统常规模块能为定制家居企业解决哪些核心问题
- 网易云音乐 网络错误 linux,Linux版网易云音乐播放音乐时无限显示“网络错误”的解决办法...
- 5.1(电脑技能经验) 美图秀秀批量处理图片大小,针对CSDN博客上传图片要求,小于2M,图片大小设计712*400
- storm风暴英雄 tempo_《绝地求生》Tempo Storm北美黑马,掌控战场
- Linux | 深入理解X86和小型机,UNIX和Linux
- 谈谈架构 -- architect
- [附源码]计算机毕业设计JAVAst音乐网站
- 关键词、词库、关键词词库
- Markdown 中的表格合并单元格
- html 表情转换器,HTML5高仿微信聊天、微信聊天表情|对话框|编辑器功能
- 怎样查看自己的IP地址
- 等保2.0.第五章.网络安全产品与方案(中)