Hibernate 自定义方言
2024-08-31 05:26:08
分类:
Hibernate(22)
该类需要继承与我们使用的数据库相应的方言类。比如:如果我们用的是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());
- <property name="hibernate.dialect">
- com.yourcompany.MyDialect
- </property>
最新文章
- java批量生成excel代码分享
- WC2016游记
- C#学习7
- 【开源项目8】Android开源项目分类汇总【畜生级别】
- 【HTTPS】Https和SSL学习笔记(一)
- POJ 1195 Mobile phones (二维树状数组或线段树)
- springMVC中得到request对象,session对象
- jq选择器对象筛选
- ES6数组扩展
- gnome 3 美化
- FastDFS+Nginx安装配置
- Java 8时间和日期API 20例
- C#高级编程笔记之第二章:核心C#
- 异常 - 虚拟机初始化错误 - Error occurred during initialization of VM
- Ueditor增加文字竖排显示和从右向左输入(支持蒙古文和维吾尔文)
- [奇思异想]使用Zookeeper管理数据库连接串
- D7 割点 割边 强连通分量
- 【Visual Studio 扩展工具】如何在ComponentOneFlexGrid树中显示RadioButton
- TS流的解析
- Java Thread.interrupt interrupted
热门文章
- 优先队列 + 并查集 + 字典树 + 欧拉回路 + 树状数组 + 线段树 + 线段树点更新 + KMP +AC自动机 + 扫描线
- bootstrap.min.js:6 Uncaught Error: Bootstrap&#39;s JavaScript requires jQuery at bootstrap.min.js:6
- MySQL Connector for .NET 和 EF版本匹配问题
- android黑科技系列——防自动抢红包外挂原理解析
- android黑科技系列——分析某直播App的协议加密原理以及调用加密方法进行协议参数构造
- O​r​a​c​l​e​1​1​g​自​带​的​S​Q​L​ ​d​e​v​e​l​o​p​e​r​无​法​打​开​解​决​
- JAVA语言编程格式高级规范
- spring中的prop、set、list、map
- 在 Laravel 应用中使用 pjax 进行页面加速
- ASP.NET MD5加密