您的位置:首页 > 移动开发

org.hibernate.MappingException: No Dialect mapping for JDBC type: -4

2014-05-26 11:11 477 查看
过了个周末,回来之后启动项目,然后就报这个错误,我就特别纳闷,然后在网上查,原因是数据库数据类型和Java的数据类型不一致。我想在数据库中存储照片,java中的属性类型为byte[]然后,在数据库中为blob类型,但是通过Hibernate配置,却报了错误,然后经过在网上查找,知道了原因,然后经过一番周折终于弄好了。结果过程如下:

重新写一个数据库方言的类

public class BlobMySQLDialect extends MySQLDialect{

public BlobMySQLDialect(){

super();

registerHibernateType(Types.LONGVARBINARY,Hibernate.BLOB.getName());//其中第一个参数为在Hibernate中欲配置的类型,第二个参数为数据库中想使用的类型,这是我目前的理解,

}

}

然后在Hibernate配置中,将数据库的方言改为此类:

<property name="dialect">com.framework.BlobMySQLDialect</property>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐