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

hibernate no dialect mapping for jdbc type

    博客分类:
  • J2EE
阅读更多

    项目运用到hibernate,有时候不可避免的使用原生SQL进行某些查询。用hql查询的话,因为实体配置文件的映射,数据库的字段被映射的不同java数据类型上,原生sql查询返回的结果集中一旦存在hibernate无法映射的数据类型的话,就会报 no dialect mapping for jdbc type 的异常,type后面的数字是每个类型的代码,例如3代表的是Decimal类型的转化。遇到这样的问题Google一把结果解决方案如出一撤的要增加一个自己写的词典,进行类型的注册,这样固然是可以解决问题的,但是假如只有几个原生sql查询就这样“大动干戈”了。突然想到以前用.addScalar("${返回列名}", Hibernate.${type})来指定结果集的返回类型,try it !

      示例代码

 

//billNumber,sum为返回结果集的列名
Query query=getSession().createSQLQuery(sqlStr).addScalar("billNumber", Hibernate.STRING).addScalar("sum", Hibernate.BIG_DECIMAL)

 

试下是不是刚才返回列中包含Decimal类型的字段原生SQL查询不在报异常了?问题解决,杀鸡还是不要用牛刀了

 

PS:如果加.addScalar的话,有几列就需要加几列,负责hibernate会把没有加.addScalar的列给忽略。

分享到:
评论

相关推荐

    优化Hibernate性能的几点建议

    <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect <prop key="hibernate.show_sql">false <!-- 其他配置 --> <prop key="hibernate.jdbc.fetch_size">50 ``` 这里的关键是`hibernate....

    hibernate的dtd 包含hibernate.properties

    在这个主题中,我们主要关注的是Hibernate的配置文件`hibernate.properties`以及它的DTD(Document Type Definition)文件,包括`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`。 首先,`...

    hibernate5相关jar包

    - `dom4j.jar`:用于XML处理,Hibernate使用它来解析和生成HBM(Hibernate Mapping)文件。 - `slf4j-api.jar` 和 `slf4j-log4j12.jar`:提供日志服务,通过SLF4J API,你可以选择不同的日志实现,如Log4j。 6. ...

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

    在使用ORM(Object-Relational Mapping)框架如Hibernate时,方言的作用尤为重要。Hibernate方言是Hibernate框架内一个关键的抽象概念,它定义了如何将Hibernate的通用SQL语句转换为特定数据库的SQL语法。例如,...

    Hibernate 4.0.0 jar包

    1. **hibernate**:代表Hibernate ORM框架,它的核心概念包括实体(Entity)、标识符(Identifier)、属性(Attributes)、映射文件(Mapping Files)、会话(Session)、事务(Transactions)等。 2. **java**:...

    hibernate小程序源码

    jdbc for scdd <property name="connection.password">scdd oracle.jdbc.driver.OracleDriver <mapping resource="com/hope/scdd/dao/Binoutputreport.hbm.xml" /> </hibernate-configuration>

    Hibernate开发jar包

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect <!-- 可选配置 --> <property name="hibernate.show_sql">true <property name="hibernate.format_sql">true ...

    hibernate配置文件详解

    Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面我们将详细介绍 Hibernate ...

    hibernate的dtd文件

    在Hibernate中,DTD(Document Type Definition)文件是XML文档的规范定义,用于验证XML配置文件的结构是否合法。我们来深入探讨一下`hibernate.properties`、`hibernate-configuration-3.0.dtd`以及`hibernate-...

    Hibernate配置文.pdf

    - `hibernate.dialect`:指定使用的数据库方言,例如`org.hibernate.dialect.OracleDialect`用于Oracle数据库。 - `hibernate.connection.driver_class`:指定JDBC驱动类,对于Oracle数据库,应为`oracle.jdbc....

    让hibernate输出sql语句参数配置.doc

    Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,广泛应用于 Java 企业应用开发中。为了提高 Hibernate 框架下的对象效率和开发效率,需要对其进行合理的配置。下面将详细介绍 Hibernate 配置参数的...

    Hibernate2安装

    Hibernate通过自动化的对象关系映射机制,实现了Java对象与数据库表之间的无缝衔接,不仅能够管理对象到数据库表的映射,还提供了强大的数据查询和获取功能,大大减少了开发人员手动编写SQL和处理JDBC的工作量,从而...

    hibernate配置

    <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property> <!--数据库方言(数据库类型)--> <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <!--...

    使用Eclipse进行Hibernate开发

    - 将JDBC驱动`sqljdbc4.jar`复制到`db`文件夹下,其余的Hibernate相关库复制到`hibernate`文件夹下。 **步骤3:** 添加库引用。 - 右击项目,选择“Build Path”>“Configure Build Path”。 - 在“Libraries”选项...

    hibernate--5.Hibernate配置文件详解

    - **Dialect**: `<property name="hibernate.dialect">`设置数据库方言,如`org.hibernate.dialect.MySQL5Dialect`,确保Hibernate能正确处理特定数据库的SQL语法。 - **Show SQL**: `<property name="hibernate....

    2023年hibernate知识点详解王成敏.doc

    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect <!-- 自动创建表 --> <property name="hibernate.hbm2ddl.auto">update <!-- 添加映射文献 --> <mapping resource=...

    Spring整合Hibernate

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect <prop key="hibernate.show_sql">true <!-- 添加Hibernate映射文件 --> <value>Book.hbm.xml ``` 接下来,我们需要创建...

    Hibernate程序的配置文件

    3. **方言设置**:方言(Dialect)是Hibernate与特定数据库通信的语言,比如对于MySQL,我们可以设置`<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>`。 4. **实体映射**:...

    Hibernate的配置文件

    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect ``` 4. **缓存设置**:可以选择性地配置第二级缓存和查询缓存,提高性能。例如: ```xml <property name="hibernate.cache.use_...

Global site tag (gtag.js) - Google Analytics