报错的代码:
org.springframework.dao.DataIntegrityViolationException:
### Error updating database. Cause: java.sql.SQLSyntaxErrorException:ORA-01722: 无效数字
### The error may involvecom.hotent.platform.model.system.SysUser.update-Inline
### The error occurred while settingparameters
### SQL: UPDATE sys_user SET fullname=? , account=? , password=? , isExpired=? , isLock=? , createtime=? , status=? , email=? , mobile=? , phone=? , sex=? , picture=?, fromType=?, entrydate=?, userStatus=?, pwdUpdTime=?, hasSyncToWx =?, weixinid =?, postId=?, postName=?, professionalId=?, professionalName=?, educationId=?, educationName=?, jobgrade=?, jobAge=?, companyAge=?, graduationDate=?, regularDate=?, leaveDate=?, IDENTIFICATION_CARDID=?, BIRTHDAY_DATE=?, AGES=?, JOB_DATE=?, SOCIAL_SECURITYNUM=?, SOCIAL_SECURITY_DEPART=?, NATION=?, POLITICAL_STATUS=?, HOUSEHOLDS=?, BIRTH_PLACE=?, ADDRESS=?, LINKMAN=?, RELATIONSHIP=?, LINKPHONE=?, PROBATION_SALARY=?, PAYMENT_PLACE=?, LEAVE_TYPE=?, IDENTIFICATION_EXPIRE=?, COMMUNICATION_PHONE=?, MOBILE_PHONE=?, OTHER_PHONE=?, WORKADDRESS=?, STATE=?, GRADUATESCHOOL=?, SPECIALTY=?, EDUCATIONAL_DEGREE=?, jobnum=? WHERE userId=?
### Cause: java.sql.SQLSyntaxErrorException:ORA-01722: 无效数字
; SQL []; ORA-01722: 无效数字
; nested exception is java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
atorg.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:245)
atorg.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
atorg.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)
atorg.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:364)
atcom.sun.proxy.$Proxy10.update(Unknown Source)
atorg.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:250)
atcom.hotent.core.db.GenericDao.update(GenericDao.java:275)
atcom.hotent.platform.service.system.SysUserService.saveUser(SysUserService.java:566)
atcom.hotent.platform.service.system.SysUserService$$FastClassByCGLIB$$5cd2eb2b.invoke(
atnet.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
atorg.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
atorg.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
atorg.springframework.aop.aspectj.AspectJAfterAdvice.invoke(AspectJAfterAdvice.java:42)
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
atorg.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
atorg.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
atcom.hotent.platform.service.system.SysUserService$$EnhancerByCGLIB$$e715394b.saveUser(
atcom.hotent.platform.controller.system.SysUserFormController.save(SysUserFormController.java:132)
atcom.hotent.platform.controller.system.SysUserFormController$$FastClassByCGLIB$$a19ebad3.invoke(
atnet.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
atorg.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
atorg.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:50)
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
atorg.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
atcom.hotent.platform.aop.LogAspect.doAudit(LogAspect.java:122)
atsun.reflect.GeneratedMethodAccessor233.invoke(Unknown Source)
atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
atjava.lang.reflect.Method.invoke(Method.java:606)
atorg.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
atorg.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
atorg.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
atorg.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
atorg.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
atcom.hotent.platform.controller.system.SysUserFormController$$EnhancerByCGLIB$$510e853a.save(
atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
atjava.lang.reflect.Method.invoke(Method.java:606)
atorg.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
atorg.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:421)
atorg.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:409)
atorg.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:774)
atorg.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
atorg.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
atorg.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:647)
atjavax.servlet.http.HttpServlet.service(HttpServlet.java:728)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
atorg.springframework.security.web.authentication.switchuser.SwitchUserFilter.doFilter(SwitchUserFilter.java:181)
atcom.hotent.core.web.filter.HtSwitchUserFilter.doFilter(HtSwitchUserFilter.java:41)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
atorg.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atcom.hotent.core.web.filter.PermissionFilter.invoke(PermissionFilter.java:97)
atcom.hotent.core.web.filter.PermissionFilter.doFilter(PermissionFilter.java:52)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atcom.hotent.core.web.filter.AopFilter.doFilter(AopFilter.java:48)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
atorg.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
atorg.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
atorg.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
atorg.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
atorg.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atcom.hotent.core.web.filter.EncodingFilter.doFilter(EncodingFilter.java:47)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
atorg.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
atjava.lang.Thread.run(Thread.java:744)
解决方案:
EDUCATIONAL_DEGREE应该是varchar类型,结果写成了number类型,所以要注意数据类型是否和数据库的一致