第一种: No Dialect mapping for JDBC type: 3;
1、新建一个DialectForInkfish extends SQLServerDialect并在里面补充注册新的类型映射。
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.SQLServerDialect;
public class DialectForInkfish extends SQLServerDialect {
public DialectForInkfish() {
super();
//registerHibernateType(Types.LONGVARCHAR, 65535, "text");//.LONGVARCHAR
registerHibernateType(Types.DECIMAL, Hibernate.BIG_INTEGER.getName());
registerHibernateType(-1, Hibernate.STRING.getName());
}
}
2、把Hibernate里的Dialect改成新的Dialect
<property name="dialect">
tools.DialectForInkfish(tools包名)
</property>
第二种: org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
1、写一个Dialect的子类,extends SQLServerDialectt
import java.sql.Types;
import org.hibernate.Hibernate;
import org.hibernate.dialect.SQLServerDialect;
public class DialectForInkfish extends SQLServerDialect {
public DialectForInkfish() {
super();
//registerHibernateType(Types.LONGVARCHAR, 65535, "text");//.LONGVARCHAR
registerHibernateType(Types.DECIMAL, Hibernate.BIG_DECIMAL.getName());
registerHibernateType(-1, Hibernate.STRING.getName());
}
}
2、把Hibernate里的Dialect改成新的Dialect
<property name="dialect">
tools.DialectForInkfish(tools包名)
</property>