在做web项目时,用到了mysql数据库和ssh架构,登录系统后,做查询时候,查询出来的list应该为null,但结果却报下面的错误:
org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
分析原因:hibernate无法将指定的数据库类型转换为java中的类型而导致的错误。
解决方法:自定义一个mysql方言,并加入这个长varchar类型的定义即可解决问题。
步骤如下:
1,定义一个java类,代码如下:
package com.sense.workflow.util;
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.MySQL5Dialect;
/**
* mysql注册类型映射
* @author Kevin12
*
*/
public class ExtMySQL5Dialect extends MySQL5Dialect{
public ExtMySQL5Dialect(){
super();
this.registerHibernateType(Types.LONGVARCHAR, Hibernate.STRING.getName());
}
}
2,修改hibernate的配置文件:
原配置文件代码(部分代码):
<property name="hibernate.connection.url">
jdbc:mysql://127.0.0.1:3306/myworkflow?characterEcoding/=utf-8
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">
[color=red]org.hibernate.dialect.MySQLInnoDBDialect[/color]
</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.show_sql">true</property>
修改后的代码:
<property name="hibernate.connection.url">
jdbc:mysql://127.0.0.1:3306/myworkflow?characterEcoding/=utf-8
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">
<!-- org.hibernate.dialect.MySQLInnoDBDialect -->
[color=red][b]com.sense.workflow.util.ExtMySQL5Dialect[/b][/color]
</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.show_sql">true</property>
分享到:
相关推荐
nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: com.xindeco.myregister.pojo.MyRegisterInfo column: password (should be mapped with insert="false" update=...
解决方案:检查hibernate.cfg.xml文件中的dialect属性,确保其与使用的数据库类型相匹配,例如MySQL应设置为`<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>`。同时,确认项目...
NULL 博文链接:https://guoyinjian.iteye.com/blog/1259538
**HibernateException: JDBC Driver class not found: org.gjt.mm.mysql.Driver** **异常描述:** 此异常表明Hibernate无法找到指定的JDBC驱动类。 **解决方法:** - 确保JDBC驱动已添加到项目依赖中。 - 检查...
Hibernate 是一个流行的 Java 持久层框架,但是在实际开发中,我们经常会遇到各种异常。了解这些异常的原因和解决方案是非常重要的。本文将介绍 Hibernate 中的一些常见异常,包括 ...
4. `org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save():` 此异常意味着在尝试保存对象前,对象的主键没有被正确设置。通常,这是由于在映射...
3. **hibernate.connection.driver_class**:指定数据库驱动类的全限定名,如`org.gjt.mm.mysql.Driver`。此配置项用于指定具体的JDBC驱动,不同数据库可能对应不同的驱动类。 4. **hibernate.connection.url**:...
标题与描述概述的知识点主要集中在Hibernate映射过程中可能遇到的各种异常情况,这涉及到数据库与对象模型之间的映射问题,以及Hibernate框架在处理这些映射时可能产生的错误。下面将对这些异常进行详细的解释和分析...
1. **Java Mapping简介**: SAP PI Java Mapping允许开发人员使用Java语言编写映射逻辑,这提供了更大的灵活性和控制力,特别是对于复杂的业务逻辑或需要调用外部服务的情况。Java Mapping基于Java类,可以利用Java...
1. **对象映射**:Orika允许开发者定义源对象和目标对象之间的映射关系,然后自动进行对象间的属性拷贝。这在处理不同数据模型间转换或跨层数据传递时非常有用。 2. **自定义映射**:除了自动映射外,Orika还支持...
dozer是一款优秀的java bean映射开源框架,完成深度转换Bean<->Bean的Mapper实现
- **异常示例**:`org.hibernate.MappingException: Could not configure overrides from file`。 - **解决方法**:这通常是由于生成的`hibernate.reveng.xml`文件格式不正确导致的。解决方法是修改该文件的头部...
// 错误1:无此方法 session.insert(item); // 错误2:应为 session.save(item); session.close(); // 错误3:应放在finally块中 tx.commit(); // 错误4:应先提交事务 } catch (Exception e) { tx.rollback();...
org.hibernate.MappingException: Unable to find column with logical name 这表示Hibernate在构建映射时未能找到与实体属性相对应的数据库列。确保实体类中的属性名称与数据库表中的列名相匹配,或者使用`@...
在使用Hibernate时,可能会遇到`org.hibernate.MappingException: Unknown entity`这样的异常,这通常是因为在配置文件(如Hibernate.cfg.xml)中未指定实体的映射文件。例如,如果实体类为`...
import org.exolab.castor.mapping.MappingException; import org.exolab.castor.xml.MarshalException; import org.exolab.castor.xml.Marshaller; import org.exolab.castor.xml.Unmarshaller; import org.exolab....
首先,我们来看一下在使用Hibernate时遇到的一个典型问题,即`MappingException: Unknown entity`异常。这个异常通常表示Hibernate无法找到指定的实体映射。在给定的代码片段中,问题出在没有在`Hibernate.cfg.xml`...
在尝试创建名为`org.springframework.aop.support.DefaultPointcutAdvisor`的Bean时遇到了`BeanCreationException`异常。具体错误信息指出无法解析对`txAdvice` Bean的引用。 **原因分析**: 此错误通常出现在...