Hibernate 没有JDBC类型的方言映射:7
当我试图提取一个浮点值时,我得到了这个异常。 我正在使用MYSQL和Hibernate(Liferay) 休眠:Hibernate 没有JDBC类型的方言映射:7,hibernate,Hibernate,当我试图提取一个浮点值时,我得到了这个异常。 我正在使用MYSQL和Hibernate(Liferay) 休眠: select IFNULL(a.deltatime,0), b.vlid , a.TESTDATE from testresult a,XREFRTGTESTRESULT b where a.id = b.id and a.TESTDATE between '2011-06-01 22:03:01 ' AND '2011-06-02 22:03:01 '
select IFNULL(a.deltatime,0), b.vlid , a.TESTDATE
from testresult a,XREFRTGTESTRESULT b
where a.id = b.id
and a.TESTDATE between '2011-06-01 22:03:01 ' AND '2011-06-02 22:03:01 '
and a.id='51006'
org.hibernate.MappingException:没有JDBC类型的方言映射:7
在org.hibernate.dialogue.TypeNames.get(TypeNames.java:56)上
在org.hibernate.dialogue.TypeNames.get(TypeNames.java:81)上
位于org.hibernate.dialogue.dialogue.getHibernateTypeName(dialogue.java:368)
在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:1787)
位于org.hibernate.loader.loader.doQuery(loader.java:662)
在org.hibernate.loader.loader.doQueryAndInitializeNonLazyCollections(loader.java:224)上
位于org.hibernate.loader.loader.doList(loader.java:2211)
位于org.hibernate.loader.loader.listIgnoreQueryCache(loader.java:2095)
位于org.hibernate.loader.loader.list(loader.java:2090)
位于org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
位于org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
位于org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
位于org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:150)
在com.virtela.reports.drilldown.service.persistence.ReportsDrillDownMySQLFinderImpl.getVPNDrillDown(ReportsDrillDownMySQLFinderImpl.java:61)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
此链接可能与以下内容相关: 一句忠告:我发现将我对错误根源的最佳猜测剪切粘贴到谷歌上是很有帮助的。很可能我不是第一个遇到特殊问题的人
能否提供类定义和Hibernate映射?JDBCType7是java.sql.Types.REAL。您可能需要改为指定float或double。它应该是固定的,因为Hibernate 3.2.5:。如果必须使用旧版本的Hibernate,可以使用以下选项之一:
- 在数据库中使用不同的类型,例如
double
- 向查询添加显式强制转换:
case(IFNULL(a.deltatime,0)为double)
- 将您使用的
并手动注册类型方言子类化
REAL