`
雁行
  • 浏览: 70714 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

No Dialect mapping for JDBC type: 7

阅读更多
网上搜的

No Dialect mapping for JDBC type: 7
I got this error while I was working with hibernate and SQL Server. Following are the findings I came across. Hope this helps you too rectify this error.

Following questions are relevant to understand this clearly.

What is jdbc type 7?
java.sql.Type.REAL : It is a constant in the java programming language, that identifies SQL type REAL.
Value of this constant is 7. This is the above mentioned jdbc type 7.

What is dialect?
Dialect is the type of the database that hibernate is going to use. Following are the commonly used dialects. These are the subclasses of the org.hibernate.dialect.Dialect for specific databases.

org.hibernate.dialect.HSQLDialect
org.hibernate.dialect.Oracle9Dialect
org.hibernate.dialect.MySQLDialect
org.hibernate.dialect.SQLServerDialect
org.hibernate.dialect.FirebirdDialect
What cause this error to occur?
The database may contain a table with field of datatype real. Hibernate dialect SQLServerDialect doesnot understand this type. So we need to explicitly convert this real type to one that dialect can understand. One way to achieve this is to write a subclass of org.hibernate.dialect.SQLServerDialect.


package co.nr.javaalert.hibernate.dialect;
import java.sql.Types;
public class SubSQLServerDialect extends org.hibernate.dialect.SQLServerDialect{
public SQLServerDialectForBilling() {
super();
registerColumnType(Types.REAL,"number($p,$s)");
registerHibernateType(Types.REAL,"double");
}
}

registerColumnType() method register a type name for a given type code. This step register sql column data type NUMBER(precision,scale) to Types.REAL. Then register this Types.REAL with a data type that can understand hibernate. The recommended Java mapping for the sql REAL type is as a Java float.

Use this subclass instead of org.hibernate.dialect.SQLServerDialect in hibernate.cfg.xml.

Reference
SQL dialects reference/Data structure definition/Data types/Numeric types

分享到:
评论

相关推荐

    Java连接达梦数据库驱动dm_jdbc

    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

    人大金仓kingbase 驱动jdbc

    JDBC驱动主要有四种类型:Type 1、Type 2、Type 3和Type 4。人大金仓Kingbase JDBC驱动通常属于Type 4,即纯Java实现的网络驱动,它提供了一个完全基于Java的数据库连接,无需依赖于特定的本地库,具有良好的跨平台...

    DM达梦数据库jdbc-jar包dialect方言jar包

    "DM达梦数据库jdbc-jar包dialect方言jar包"就是包含了针对达梦数据库的方言实现,它使得这些框架可以正确处理DM达梦数据库特有的SQL语法和存储过程,从而提高代码的可移植性和兼容性。 在使用DM达梦数据库jdbc-jar...

    Hibernate不同数据库的连接及SQL方言

    Hibernate提供了多种SQL方言,例如org.hibernate.dialect.OracleDialect、org.hibernate.dialect.MySQLDialect、org.hibernate.dialect.SQLServerDialect等。我们可以在配置文件中使用元素来设置SQL方言,例如: ...

    gbase-jdbc驱动gbase-connector-8.3.81.51和infomix驱动ifxjdbc.jar

    - 加载驱动:`Class.forName("com.gbase.jdbc.Driver")` 对于GBase,`Class.forName("com.infomix.jdbc.IfxDriver")` 对于Infomix。 - 建立连接:`Connection conn = DriverManager.getConnection(url, username, ...

    数据库JDBC连接.txt

    ### 数据库JDBC连接知识点详解 #### 一、概述 JDBC(Java Database Connectivity)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。它由一组用Java语言...

    hibernate SQLServer2008Dialect

    SQLServer2008Dialect 优化了原来的分页查询数据方法以及在生成SQL时表后增加了with(nolock)

    kingbaseV8 hibernate jdbc 驱动

    另外,还有一些以`dialect`结尾的jar文件,如`hibernate-5.0.12.Finaldialect.jar`,这些通常是针对特定数据库的方言(Dialect)实现,用于告诉Hibernate如何正确地与特定类型的数据库进行交互。KingbaseV8的方言...

    vertx-jdbc:顶点 3.0 JDBC

    Vertx JDBC 执行器 JDBC Executor 为通过 Vertx 3.0 事件总线访问任何符合 JDBC 的数据源提供了一种快速有效的方法。 与 Executor 的所有交互都应该是原子的,并且尽可能“简短而甜蜜”,以尽量减少对共享(JDBC ...

    DmDialect-for-hibernate4.0.zip

    本篇将详细介绍标题为"DmDialect-for-hibernate4.0.zip"的压缩包文件及其包含的两个重要组件:Dm7JdbcDriver17.jar和DmDialect-for-hibernate4.0.jar,以及它们在SpringBoot项目中的作用。 首先,SpringBoot是一个...

    达梦数7据库j驱动包及方言包,maven依赖jar包,DM达梦数据库jdbc-jar包dialect方言jar包

    2. Dm7JdbcDriver16-7.6.0.142.jar:这是达梦数据库的JDBC驱动程序,版本号为7.6.0.142。在Java项目中引入这个JAR,可以实现Java应用程序与达梦数据库的连接和数据交互。 在实际开发中,开发者需要将这些JAR文件...

    达梦数据库7最新版驱动Dm7JdbcDriver18及hibernate5.0方言包

    这个压缩包包含两个关键文件:`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`...

    国产达梦数据库DM8 JDBC驱动

    国产数据库DM8,jdbc驱动相关资源。达梦8JDBC驱动分为DmJdbcDriver15、DmJdbcDriver16、...达梦8提供不同hibernate和jdk版本的方言包,用户可根据开发环境选择对应的方言包版本,相关方言包驱动在dialect目录下

    神通jdbc驱动.rar

    神通数据库的jdbc驱动jar包,从自己安装的神通数据库中复制出来,亲测可以使用,分享给需要的人 jdbc.driverClassName=com.oscar.Driver jdbc.url=jdbc:oscar://ip:端口/数据库名称 hibernate.dialect=...

    hibernate.properties

    #hibernate.connection.url jdbc:ingres://localhost:II7/database;CURSOR=READONLY;auto=multi #hibernate.connection.username user #hibernate.connection.password password ## Mimer SQL #hibernate.dialect ...

    达梦jdbc驱动

    Java连接达梦数据库驱动dm_jdbc: dm_jdbc\...dm_jdbc\Hibernate Dialect&JDBC;.txt dm_jdbc\version.txt 网上的dm的jdbc驱动分太贵了,完全脱离了分享宗旨。我只收1分,评论后,分好像还能挣回去

    SAP HANA JDCB

    Sap HaNa 数据库链接 jar包。可自定义Maven坐标 添加到私有库 想不要积分,CSDN 最低要求1积分 #mvn install:install-file -Dfile=C:\work\hanajdbclib\ngdbc...#hibernate.dialect=org.hibernate.dialect.SAPDBDialect

    kingbase-jdbc-v8.zip

    人大金仓数据库是一款国产的关系型数据库管理系统,其JDBC驱动包是用于在Java应用程序中连接和操作人大金仓数据库的关键组件。"kingbase-jdbc-v8.zip" 是一个包含人大金仓V8版本JDBC驱动的压缩包,适用于需要与金仓...

    数据库连接字符串

    class:oracle.jdbc.driver.OracleDriver url:"jdbc:oracle:thin:@localhost:1521:jbitdb","epet","epet" sqlserver: class:com.microsoft.sqlserver.jdbc.SQLServerDriver url:"jdbc:sqlserver://localhost:1433;...

    jdbc_Java8_达梦8jdbc_

    `Hibernate Dialect&JDBC.txt`文件可能包含了关于如何在Hibernate ORM框架中配置达梦的方言和JDBC设置的信息,这对于使用ORM来操作达梦数据库的开发者来说非常重要。 `version.txt`文件通常包含了软件的版本信息,...

Global site tag (gtag.js) - Google Analytics