今天写原生态SQL调用Hibernate查询数据库报以下异常:
org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 。
原因:肯定是方言(Hibernate Dialect)的问题,Hibernate映射时发现实体类的类型与数据库中的类型对应不上。
例如:你用了MYSQL,并定义一个字段值类型为decimal,此时通过hibernate原生态查询就会报异常:
No Dialect mapping for JDBCtype: 3.
如果你用了SQLSERVER,并定义字段类型为:max,将会报异常:
org.hibernate.MappingException: No Dialect mapping for JDBC type: -1 。
解决:自定义方言,写一个JAVA类,继承所对应的数据库方言,找你要重写的字段。
No Dialect mapping for JDBC type: 0
有可能是在查询的属性中设置了null as cessa,这种写法在Hibernate作为数据库连接层的时候,mysql数据库是会报错的
本文由 admin 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:2023-05-16 14:33:04