Hibernate映射数据库中longtext类型属性时报错No Dialect mapping for JDBC type: -1的解决方案

Posted java小斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate映射数据库中longtext类型属性时报错No Dialect mapping for JDBC type: -1的解决方案相关的知识,希望对你有一定的参考价值。

出现错误的原因是:hibernate中对于数据库的longtext数据类型不支持。

解决方案:

1、写个类集成方言,然后自己实现对longtext的支持

1 import java.sql.Types;  
2  import org.hibernate.dialect.mysql5Dialect;  
3  public class DialectForInkfish extends MySQL5Dialect {  
4      public DialectForInkfish() {  
5          super();  
6          registerHibernateType(Types.LONGVARCHAR, 65535, "longtext");  
7      }  
8  }  

 

2、修改hibernate.cfg.xml配置文件

将<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>  改为<property name="dialect">com.ibm.crl.inkfish.config.DialectForInkfish</property> 

以上是关于Hibernate映射数据库中longtext类型属性时报错No Dialect mapping for JDBC type: -1的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

即时更改数据库列类型

3.Hibernate 映射类型

Hibernate映射配置:数据类型映射

Hibernate3映射数据类型

MySQL 到“YEAR”类型的 Hibernate 数据类型映射

Hibernate 映射枚举(Enum) 类型的属性