org.hibernate.MappingException: No Dialect mapping for JDBC type: 3
仔细查看,发现问题在于数据类型.到网上查,发现hibernate在执行List result = session.createSQLQuery(sql).list()的时候,当SQL语句中遇到的decimal,long等类型的字段时,就出现上面的错误.而且从错误信息中可以发现:出错的是Dialect.
解决办法:
错误知道以后,我就到网上找解决办法.看来遇到这类问题的人太多了,网上到处都有人贴这个问题.我看了几篇,发现有个解决办法,就是自定义Hibernate Dialect.虽然所用数据库不同(我用的数据库是DB2),我觉得大同小异,就照着做了:
首先建一个类,继承org.hibernate.dialect.DB2Dialect,该类的内容如下:
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.DB2Dialect;
public class PmDb2Dialect extends DB2Dialect {
public PmDb2Dialect() {
super();
registerHibernateTyp(Types.DECIMAL,Hibernate.BIG_DECIMAL.getName());
}
}
第二步,就是修改hibernate的配置文件hibernate.cfg.xml:
将:
<property name="hibernate.dialect">
org.hibernate.dialect.DB2Dialect
</property>
改为:
<property name="hibernate.dialect">
com.yonder.pm.common.PmDb2Dialect
</property>
分享到:
相关推荐
hibernate3.6.0dialect.jar
hibernate3dialect
Hibernate方言(Dialect)是Hibernate框架中的一个关键概念,它是Hibernate与特定数据库之间通信的桥梁。方言定义了如何将Hibernate的SQL语句转换为特定数据库所理解的SQL,包括列类型、约束、SQL语法等。例如,达梦...
hibernate 4以上Hibernate.INTEGER之类的不能使用了,之前使用的SQLiteDialect.java编译不过去了,这个可以。
SQLServer2008Dialect 优化了原来的分页查询数据方法以及在生成SQL时表后增加了with(nolock)
南大通用GBase数据库GBase_Hibernate3.2.3_GA-Dialect_8.3.81.51_build50.1.jar
hibernate下的kingbase的jar文件,需要的同学自行下载
Hibernate连接SQLite配置步骤: 1、添加SQLite库: 1.1、将两个jar包:com.zy.hibernate.dialect.SQLiteDialect.jar、sqlite-jdbc-3.7.2.jar拷贝到“\WEB-INF\lib”文件夹下; 2、配置hibernate: 2.1、将...
而方言(Dialect)则是Hibernate中用于适配不同数据库系统的类,它定义了SQL语法的特定实现,使得Hibernate可以正确地在不同的数据库上执行SQL语句。 达梦数据库作为国内自主研发的高性能、高安全性的数据库产品,...
Hibernate提供了多种SQL方言,例如org.hibernate.dialect.OracleDialect、org.hibernate.dialect.MySQLDialect、org.hibernate.dialect.SQLServerDialect等。我们可以在配置文件中使用元素来设置SQL方言,例如: ...
方言(Dialect)是Hibernate中的一个关键组件,它定义了如何与特定的数据库管理系统(DBMS)进行通信的规则和语法。 瀚高数据库,全称为HighGo Database,是一款源自中国的高性能、安全可靠的开源数据库系统,适用于...
在SpringBoot集成Hibernate时,通过配置`spring.jpa.hibernate.dialect`属性,指定使用DmDialect,就能让Hibernate知道如何与达梦数据库进行有效通信。这样,开发人员就可以利用Hibernate的高级特性,如懒加载、事务...
DmDialect-for-hibernate2.0、DmDialect-for-hibernate2.1、DmDialect-for-hibernate3.0、DmDialect-for-hibernate3.1、DmDialect-for-hibernate3.6、DmDialect-for-hibernate4.0、DmDialect-for-hibernate5.0、...
jar包在dialect目录下: 1. DmDialect-for-hibernate2.0.jar 对应 Jdk1.4及以上, hibernate2.0 环境 2. DmDialect-for-hibernate2.1.jar 对应 Jdk1.4及以上, hibernate2.1 -- 2.X 环境 3. DmDialect-for-hibernate3.0...
Hibernate人大金仓jar包
hibernate.dialect = org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.connection.url = jdbc:mysql:///test hibernate.connection.username = gavin ...
在探讨Hibernate中所有数据库方言之前,我们先简要回顾一下Hibernate框架本身。Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用与各种关系型数据库进行交互。它提供了强大的功能,如对象持久化、查询...
另外,还有一些以`dialect`结尾的jar文件,如`hibernate-5.0.12.Finaldialect.jar`,这些通常是针对特定数据库的方言(Dialect)实现,用于告诉Hibernate如何正确地与特定类型的数据库进行交互。KingbaseV8的方言...
`hibernate-dialect.jar`包含不同数据库的方言类,使得Hibernate可以生成适合特定数据库的SQL语句。 5. 第三方库:如`javassist.jar`, `dom4j.jar`, `slf4j-api.jar`, `slf4j-log4j12.jar`等 - `javassist.jar`:...