2012-07-04 18:46 2847人阅读 评论(1) 收藏 举报
 分类:
Hibernate(22) 

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

  1. import java.sql.Types;
  2. import org.hibernate.Hibernate;
  3. import org.hibernate.dialect.MySQL5Dialect;
  4. /**
  5. * 重写MySQL5Dialect类,注册Types
  6. * @author lz
  7. *
  8. */
  9. public class MyDialect extends MySQL5Dialect {
  10. public MyDialect(){
  11. super();
  12. registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());
  13. registerHibernateType(Types.LONGVARCHAR,Hibernate.STRING.getName());
  14. registerHibernateType(Types.BINARY,Hibernate.STRING.getName());
  15. registerHibernateType(-1, Hibernate.STRING.getName());
  16. }
  17. }

说明: 如果你的数据库是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());

  1. <property name="hibernate.dialect">
  2. com.yourcompany.MyDialect
  3. </property>

最新文章

  1. java批量生成excel代码分享
  2. WC2016游记
  3. C#学习7
  4. 【开源项目8】Android开源项目分类汇总【畜生级别】
  5. 【HTTPS】Https和SSL学习笔记(一)
  6. POJ 1195 Mobile phones (二维树状数组或线段树)
  7. springMVC中得到request对象,session对象
  8. jq选择器对象筛选
  9. ES6数组扩展
  10. gnome 3 美化
  11. FastDFS+Nginx安装配置
  12. Java 8时间和日期API 20例
  13. C#高级编程笔记之第二章:核心C#
  14. 异常 - 虚拟机初始化错误 - Error occurred during initialization of VM
  15. Ueditor增加文字竖排显示和从右向左输入(支持蒙古文和维吾尔文)
  16. [奇思异想]使用Zookeeper管理数据库连接串
  17. D7 割点 割边 强连通分量
  18. 【Visual Studio 扩展工具】如何在ComponentOneFlexGrid树中显示RadioButton
  19. TS流的解析
  20. Java Thread.interrupt interrupted

热门文章

  1. 优先队列 + 并查集 + 字典树 + 欧拉回路 + 树状数组 + 线段树 + 线段树点更新 + KMP +AC自动机 + 扫描线
  2. bootstrap.min.js:6 Uncaught Error: Bootstrap&#39;s JavaScript requires jQuery at bootstrap.min.js:6
  3. MySQL Connector for .NET 和 EF版本匹配问题
  4. android黑科技系列——防自动抢红包外挂原理解析
  5. android黑科技系列——分析某直播App的协议加密原理以及调用加密方法进行协议参数构造
  6. O​r​a​c​l​e​1​1​g​自​带​的​S​Q​L​ ​d​e​v​e​l​o​p​e​r​无​法​打​开​解​决​
  7. JAVA语言编程格式高级规范
  8. spring中的prop、set、list、map
  9. 在 Laravel 应用中使用 pjax 进行页面加速
  10. ASP.NET MD5加密