No Dialect mapping for JDBC type: -1

来源:互联网 发布:电子示波器的使用数据 编辑:程序博客网 时间:2024/06/05 10:53
 

MySql中因为数据类型的问题就会出现严重: No Dialect mapping for JDBC type -4 ...等异常.这是由于mysql(BLOB,text)类型在JDBC返回的数据类型没有注册.

解决的方法如下:
1.  重写mysql的方言
public class CrtMySQLDialect extends MySQLDialect {   
                   public CrtMySQLDialect() {   
                         super();   
                         registerHibernateType(Types.LONGVARCHAR, Hibernate.TEXT.getName()); //对应mysql的text   
                         registerHibernateType(-4, Hibernate.BLOB.getName());   
                          //-4就是错误的type number 在mysql对应XXXBlob忘记了名字^^  
                          }   

2.在hibernate设置SQL方言的XML文件中将类替换成此上面MySQLDialect 的路径

原创粉丝点击