`

mysql的text如何dialect mapping

阅读更多

在开发项目中,遇到了hibernate 的2个bug。导致出现了一些麻烦。
1、hibernate中对于数据库的Text数据类型不支持。
   hibernate 使用hql查询包含text类型字段的时候很好。如果使用native sql也就是使用  createSQLQuery方法查询text类型的时候总是报错:
org.hibernate.MappingException: No Dialect mapping for JDBC type:-1
       atorg.hibernate.dialect.TypeNames.get(TypeNames.java :56)
是hibernate与mysql的jdbc驱动配合上出现了问题:对于 mysql text类型jdbc  ResultSetMetaData.getColumnType  返回-1  ,而hibernate没有注册该类型,所以导致createSQLQuery 报 No Dialect mapping for JDBCtype: -1。

解决这个问题:要么使用hql,不使用sql,

要么继承 MySQL5Dialect  类重写方法  
import java.sql.Types;  
importorg.hibernate.Hibernate;  
import org.hibernate.dialect.MySQLInnoDBDialect;

public class MySqlDialectOverride extends MySQLInnoDBDialect{
 public MySqlDialectOverride(){  
       super();  
       registerHibernateType(Types.DECIMAL,Hibernate.BIG_DECIMAL.getName());  
       registerHibernateType(-1,Hibernate.STRING.getName());  
   } 
}

分享到:
评论

相关推荐

    mysql 让hibernate支持text字段的方言

    在处理特定类型的数据库字段时,比如`TEXT`字段,Hibernate可能需要使用特定的方言(Dialect)来确保正确地进行操作。本文将深入探讨如何使Hibernate支持MySQL中的`TEXT`字段,以及`MYSQLDialect.java`在这个过程中...

    ssh+mysql搭框架

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect <!-- 映射文件位置 --> <mapping resource="cn/itcast/elec/domain/ElecText.hbm.xml"/> ``` ### 四、业务逻辑层与表现层的设计 ...

    jersey+spring+hibernate配置

    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect <mapping resource="com/example/User.hbm.xml"/> ``` ##### 3.4 创建Spring配置文件applicationContext.xml 在项目的`src/main/...

    Struts2_hibernate登录验证范例

    <property name="dialect">org.hibernate.dialect.MySQLDialect <property name="myeclipse.connection.profile">LoginSystem <property name="connection.password">root ...

    一个Hibernate 的简单教程

    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">...

    SSH2整合详细示例

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect <prop key="hibernate.show_sql">true <prop key="hibernate.hbm2ddl.auto">update ...

    springmybatis

    5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。 mybatis实战教程(mybatis in action)之一:开发环境搭建 mybatis 的开发环境搭建,选择: eclipse j2ee 版本,mysql 5.1 ,jdk 1.7,mybatis...

    Struts1.3+Spring3.0+Hibernate3.3+DWR2.X框架集成文档v1.4

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect <prop key="hibernate.show_sql">true <!-- 更多配置 --> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> ...

    公司招聘异地笔试题.doc

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect <prop key="hibernate.show_sql">true <prop key="hibernate.hbm2ddl.auto">update <value>table1.hbm.xml <!-- 事务管理器...

    客户关系管理系统框架搭建(二)

    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect <property name="hibernate.hbm2ddl.auto">update <property name="hibernate.show_sql">true <mapping resource=...

    ssh(三大框架)集成

    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect <prop key="hibernate.show_sql">true <property name="driverClass" value="com.mysql.jdbc.Driver"/> ...

    spring_MVC源码

    05.dataSource.dialect=org.hibernate.dialect.MySQL5Dialect 06.dataSource.serverName=localhost:3306 07.dataSource.url=jdbc:mysql://localhost:3306/test 08.dataSource.properties=user=${dataSource....

    ORMSequelize:使用ORM序列化

    dialect: 'mysql' }); ``` 接下来,定义模型是ORM的核心部分。模型代表数据库中的表,可以通过Sequelize的`define`方法创建: ```javascript const User = sequelize.define('User', { // 属性定义 firstName: ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。 1、 系统处理的准确性和及时性:系统处理的...

    ssh(structs,spring,hibernate)框架中的上传下载

    21. <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect 22. <prop key="hibernate.cglib.use_reflection_optimizer">true 23. 24. 25. 26. !-- Hibernate 模板//--> 27. 28. class="org....

Global site tag (gtag.js) - Google Analytics