org.hibernate.MappingException: No Dialect mapping for JDBC type: -4
来源:互联网 发布:魔法王座神翼升阶数据 编辑:程序博客网 时间:2024/05/21 22:29
Stacktracesorg.hibernate.MappingException: No Dialect mapping for JDBC type: -4 org.hibernate.dialect.TypeNames.get(TypeNames.java:56) org.hibernate.dialect.TypeNames.get(TypeNames.java:81) org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:370) org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:559) org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:485) org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:501) org.hibernate.loader.Loader.getResultSet(Loader.java:1796) org.hibernate.loader.Loader.doQuery(Loader.java:674)
问题还原:
数据库为MySQL,读取表中一个Blog类型字段
String hql ="select ID,IMG from test";Session session = getSession();list = session.createSQLQuery(hql).list();
问题解决:
这是由于mysql(BLOB或text)在hibernate中没有注册该类型
重写MySQL方言,新建一个类
import java.sql.Types;import org.hibernate.Hibernate;import org.hibernate.dialect.MySQLDialect;public class BlobMySQLDialect extends MySQLDialect{public BlobMySQLDialect () { super(); registerHibernateType(Types.LONGVARBINARY, Hibernate.BLOB.getName()); }}
修改Hibernate配置文件
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> 修改为: <property name="dialect">该类所在路径/BlobMySQLDialect</property>
作者:itmyhome
1 0
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -4
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -4
- org.hibernate.MappingException: No Dialect mapping for JDBC type: 3
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -16
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
- org.hibernate.MappingException: No Dialect mapping for JDBC type:
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -9(-*)
- 查询blob数据时org.hibernate.MappingException: No Dialect mapping for JDBC type:-4
- MySQL错误(org.hibernate.MappingException: No Dialect mapping for JDBC type: -4) 解决方案
- Caused by: org.hibernate.MappingException: No Dialect mapping for JDBC type: -4
- hibernate中报org.hibernate.MappingException: No Dialect mapping for JDBC type: -16错误
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 解决方法
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 解决方法搜藏
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 解决方法
- org.hibernate.MappingException: No Dialect mapping for JDBC type: 101 Position: 0
- 【机器学习基础】混合和装袋
- 13 适配器
- git push
- fgets函数
- 【机器学习基础】自适应提升
- org.hibernate.MappingException: No Dialect mapping for JDBC type: -4
- C语言---整型字符串转换
- C#使用资源字典
- WebRTC学习的方方面面
- 莫队算法小结
- 【NGUI实例开发】实现弹窗面板
- leetcode 016 Letter Combinations of a Phone Number(Python)
- 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
- Tiny框架2.0版火热推出