多语言展示
当前在线:641今日阅读:103今日分享:49

No Dialect mapping for JDBC type: 2002解决

下午开发的时候,sql语句遇到如下错误:No Dialect mapping for JDBC type: 2002。意思是指,服务器数据类型和java的数据类型不能成功映射。下边介绍一下解决心得
方法/步骤
1

详细异常记录如下org.hibernate.MappingException: No Dialect mapping for JDBC type: 2002 at org.hibernate.dialect.TypeNames.get(TypeNames.java:79) at org.hibernate.dialect.TypeNames.get(TypeNames.java:104) at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:393) at org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:582) at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:508) at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:524) at org.hibernate.loader.Loader.getResultSet(Loader.java:1821) at org.hibernate.loader.Loader.doQuery(Loader.java:697) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) at org.hibernate.loader.Loader.doList(Loader.java:2232) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129) at org.hibernate.loader.Loader.list(Loader.java:2124) at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:312) at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1723) at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165) at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:175) at data.DatabaseWorkspaceBase.GetDataTable(DatabaseWorkspaceBase.java:391) at data.general.workspacesupper.MixedWorkspace.GetDataTable(MixedWorkspace.java:308) at data.service.BaseDataServiceImpl.getDataTableSql(BaseDataServiceImpl.java:542) at sun.reflect.GeneratedMethodAccessor124.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.directwebremoting.impl.CreatorModule$1.doFilter(CreatorModule.java:229) at org.directwebremoting.impl.CreatorModule.executeMethod(CreatorModule.java:241) at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:379) at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:332) at org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:104) at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:120) at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:141) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

2

原因:数据库表的字段类型和java的类型不符合。检查数据库的类型,对应修改正确

3

修改完成后,重启tomcat,即可解决问题

推荐信息