No Dialect mapping for JDBC type: -1
No Dialect mapping for JDBC type: -1
原因:hibernate 方言不支持此类型,数据库表中有text类型的字段,而Hibernate在native查询中没有注册这个字段,因此发生这个错误
解决办法:
写一个类、修改hibernate配置文件。 写一个Dialect的子类,这里我 extends MySQL5Dialect类:
package com.jh.jcs.framework.utils; import java.sql.Types; import org.hibernate.dialect.MySQL5Dialect; public class DialectForInkfish extends MySQL5Dialect{ public DialectForInkfish() { super(); registerHibernateType(Types.LONGVARCHAR, 65535, "text"); // registerHibernateType (Types.DECIMAL,Hibernate.BIG_DECIMAL.getName()); //registerHibernateType(-1, Hibernate.STRING.getName()); } }
修改config.properties文件:
hibernate.dialect=com.jh.jcs.framework.utils.DialectForInkfish