從數據庫中提取行時,出現org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
錯誤。org.hibernate.MappingException:否JDBC類型的方言映射:-1
錯誤的詳細信息
exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:659)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
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)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
org.hibernate.loader.Loader.doList(Loader.java:2213)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
org.hibernate.loader.Loader.list(Loader.java:2099)
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:152)
com.report.dao.BestSellerReportDAO.getBestSellReport(BestSellerReportDAO.java:82)
com.report.service.BestSellerService.getBestSellReport(BestSellerService.java:21)
com.report.service.BestSellerService$$FastClassByCGLIB$$3c172a2c.invoke(<generated>)
net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625)
com.report.service.BestSellerService$$EnhancerByCGLIB$$1ca7eb9d_2.getBestSellReport(<generated>)
com.report.controller.BestSellerReportController.onSubmit(BestSellerReportController.java:55)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
使用代碼:
query = sessionFactory.getCurrentSession().createSQLQuery("CALL my_sp_test(:gender_id,:category_id,:is_date_criteria_on,:from_date,:to_date,:unit_sold_above)");
query.setParameter("gender_id",bestSellCriteriaForms[0].getSelectedGender()); query.setParameter("category_id",bestSellCriteriaForms[0].getSelectedDepartment());
query.setParameter("unit_sold_above", 200);
query.setParameter("is_date_criteria_on", true);
query.setParameter("from_date", date);
query.setParameter("to_date", date);
//Get query as list
reportList = query.list();
我尋找這個錯誤,但coudn't找到任何解決辦法呢。
我該如何解決這個問題? (老實說,我不明白爲什麼會發生)
什麼是你使用的底層數據庫? – kyiu
@KHY我正在使用mysql –
在您的hibernate.cfg.xml文件中設置MySQLDialect。 –