多语言展示
当前在线:392今日阅读:103今日分享:49

关于No Dialect mapping for JDBC type:-1

做工程时,使用hibernate,mysql,工程竟然报了“No Dialect mapping for JDBC type:-1”的问题。具体做法如下:
工具/原料
1

S2SH

2

mysql

方法/步骤
1

在s2sh架构中使用mysql数据库,在javaBean中使用属性:BigDecimal类型,数据库中此字段为Decimal类型

2

会报No Dialect mapping for JDBC type:-1原因是hibernate无法映射此类型的对象。

3

具体做法:必须把java类的BigDecimal类型与mysql中的Decimal类型关联起来。import java.sql.Types;   import org.hibernate.Hibernate;   import org.hibernate.dialect.MySQLDialect;public class ZJCMySQLDialect extends MySQLDialect{   public ZJCMySQLDialect () {            super();            registerHibernateType(Types.DECIMAL,             Hibernate.BIG_DECIMAL.getName());             registerHibernateType(-1, Hibernate.STRING.getName());     }  }

4

修改hibernate的方言:      com.quduan.ZJCMySQLDialect 这样就可以支持BigDecimal类型了。

推荐信息