这个问题很多人都遇到过,网上有很多文章可以搜得到
解决方法就是自定义一个Hibernate Dialect.
- package com.yourcompany.util ;
-
-
import java.sql.Types;
-
-
import org.hibernate.Hibernate;
-
import org.hibernate.dialect.MySQL5Dialect;
-
-
public class CustomDialect extends MySQL5Dialect {
-
public CustomDialect() {
-
super();
- registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());
-
registerHibernateType(-1, Hibernate.STRING.getName());
- }
- }
package com.yourcompany.util ;
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.MySQL5Dialect;
public class CustomDialect extends MySQL5Dialect {
public CustomDialect() {
super();
registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());
registerHibernateType(-1, Hibernate.STRING.getName());
}
}
然后将hibernate配置文件(或是Spring配置文件)中配置数据库方言的那一项,改成上面自定义的方言.:
- <property name="hibernate.dialect">
- com.yourcompany.CustomDialect
- </property>
<property name="hibernate.dialect">
com.yourcompany.CustomDialect
</property>
说明: 如果你的数据库是mysql,而又用了decimal类型,报错应该是 No Dialect mapping for JDBC type: 3 . 注意这个3, 它说明hibernate不能将这种数据类型映射到你的java类中. 就需要在自定义的方言中用到:
- registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());
registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());
这句代码.
如果你用了text数据类型,hibernate根本就不认识这种数据类型,所以会返回No Dialect mapping for JDBC type: -1
. 这样的话,就需要在方言中加入:
- registerHibernateType(-1, Hibernate.STRING.getName());
分享到:
相关推荐
"DM达梦数据库jdbc-jar包dialect方言jar包"就是包含了针对达梦数据库的方言实现,它使得这些框架可以正确处理DM达梦数据库特有的SQL语法和存储过程,从而提高代码的可移植性和兼容性。 在使用DM达梦数据库jdbc-jar...
Java连接达梦数据库驱动dm_jdbc: dm_jdbc\com.dameng.floader.jar dm_jdbc\com.dameng.impexp.jar dm_jdbc\Dm7Dictionary.jar dm_jdbc\Dm7JdbcDriver14....dm_jdbc\Hibernate Dialect&JDBC;.txt dm_jdbc\version.txt
"dialect方言jar包"则针对特定数据库的SQL语法特性,因为不同数据库系统的SQL语法略有差异。在使用ORM(Object-Relational Mapping)框架如Hibernate时,方言的作用尤为重要。Hibernate方言是Hibernate框架内一个...
JDBC驱动主要有四种类型:Type 1、Type 2、Type 3和Type 4。人大金仓Kingbase JDBC驱动通常属于Type 4,即纯Java实现的网络驱动,它提供了一个完全基于Java的数据库连接,无需依赖于特定的本地库,具有良好的跨平台...
神通数据库的jdbc驱动jar包,从自己安装的神通数据库中复制出来,亲测可以使用,分享给需要的人 jdbc.driverClassName=com.oscar.Driver jdbc.url=jdbc:oscar://ip:端口/数据库名称 hibernate.dialect=...
这个压缩包包含两个关键文件:`Dm7JdbcDriver18-7.6.0.142.jar`和`DmDialect-for-hibernate5.0-1.8.0_65-b17.jar`,分别用于JDBC连接和Hibernate ORM的支持。 首先,我们来详细了解`Dm7JdbcDriver18-7.6.0.142.jar`...
3. **Hibernate Dialect&JDBC.txt**:Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者用面向对象的方式来操作数据库。该文本文件可能包含了关于如何配置Hibernate以适应达梦数据库的方言(Dialect...
【Hibernate Dialect&JDBC.txt】文件可能记录了关于Hibernate框架与达梦数据库交互的方言(Dialect)设置和JDBC配置信息。Hibernate是一个流行的ORM(Object-Relational Mapping)框架,它允许开发者用面向对象的...
数据库方言(Dialect)是指在遵循标准SQL语法的基础上,各个数据库管理系统(如MySQL、Oracle、MSSQL等)根据自身的特性和需求所扩展的一套特有的语法和功能。这些方言使得不同的数据库系统在处理特定任务时可能需要...
本篇将详细介绍标题为"DmDialect-for-hibernate4.0.zip"的压缩包文件及其包含的两个重要组件:Dm7JdbcDriver17.jar和DmDialect-for-hibernate4.0.jar,以及它们在SpringBoot项目中的作用。 首先,SpringBoot是一个...
`Hibernate Dialect&JDBC.txt`文件可能包含了关于如何在Hibernate ORM框架中配置达梦的方言和JDBC设置的信息,这对于使用ORM来操作达梦数据库的开发者来说非常重要。 `version.txt`文件通常包含了软件的版本信息,...
SQLAlchemy Dialect for SAP HANA 就是 SQLAlchemy 为 SAP HANA 数据库提供的一种方言,使得开发者能够利用 SQLAlchemy 的强大功能来与 SAP HANA 进行交互。 1. **SQLAlchemy Dialects**: SQLAlchemy 的方言系统...
另外,还有一些以`dialect`结尾的jar文件,如`hibernate-5.0.12.Finaldialect.jar`,这些通常是针对特定数据库的方言(Dialect)实现,用于告诉Hibernate如何正确地与特定类型的数据库进行交互。KingbaseV8的方言...
达梦8JDBC驱动分为DmJdbcDriver16、DmJdbcDriver17、DmJdbcDriver18,分别对应Jdk1.6、Jdk1.7、Jdk1.8; 达梦8提供不同hibernate和jdk版本的方言包,用户可根据开发环境选择对应的方言包版本,相关方言包驱动在...
### 数据库JDBC连接知识点详解 #### 一、概述 JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它由一组用Java语言...
达梦数据库方言 (dialect...包含hibernate各版本,DmHibernateSpatial-1.0.jar, DmHibernateSpatial-1.1.jar,DmDialect-for-hibernate5.3.jar ... DmDictionary.jar,dmjooq-dialect-3.12.3.jar,gt-dameng-2.15.jar...
首先,我们需要了解JDBC(Java Database Connectivity),它是Java语言连接数据库的标准接口,由Oracle公司开发,使得Java开发者能够通过标准API与各种类型的数据库进行通信。 达梦数据库是一款国产的关系型数据库...
Java连接达梦数据库驱动dm_jdbc: dm_jdbc\...dm_jdbc\Hibernate Dialect&JDBC;.txt dm_jdbc\version.txt 网上的dm的jdbc驱动分太贵了,完全脱离了分享宗旨。我只收1分,评论后,分好像还能挣回去
达梦7JDBC驱动分为Dm7JdbcDriver14、Dm7JdbcDriver15、Dm7JdbcDriver16,分别对应Jdk1.4、Jdk1.5、Jdk1.6; 达梦7Hibernate方言包分为Dm7Dialect314、Dm7Dialect15、Dm7Dialect16,分别对应Jdk1.4、Jdk1.5、Jdk1.6;