在ssh架构中使用mysql数据库,在javaBean中使用属性:BigDecimal,hibernate无法映射此类型的对象。
在数据库中此字段必须为Decimal类型。 会报No Dialect mapping for JDBC type:-1
为让hibernate知道此类型。
必须一下做法:
package com.quduan;
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());
}
}
修改:
<prop key="hibernate.dialect">
com.quduan.ZJCMySQLDialect
</prop>
这样就可以支持BigDecimal类型了。