MySQL报错3031_hibernate mysql 报错 简单问题

Hibernate: update tb_news_radio set state='审核否决', shenhe_name='admin', shenhe_time=now() where id=135

2012-02-05 12:31:08,984 [http-5000-1] ERROR org.hibernate.util.JDBCExceptionReporter - Data truncation: Data truncated for column 'shenhe_time' at row 1

org.hibernate.exception.DataException: could not execute update query

at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:100)

at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)

at org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:107)

at org.hibernate.hql.ast.QueryTranslatorImpl.executeUpdate(QueryTranslatorImpl.java:419)

at org.hibernate.engine.query.HQLQueryPlan.performExecuteUpdate(HQLQueryPlan.java:283)

at org.hibernate.impl.SessionImpl.executeUpdate(SessionImpl.java:1168)

at org.hibernate.impl.QueryImpl.executeUpdate(QueryImpl.java:117)

at com.acec.house.service.admin.AdminManager.shipinPass(AdminManager.java:442)

at com.acec.house.service.admin.AdminManager$$FastClassByCGLIB$$c5f9ca65.invoke()

at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)

at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)

at com.acec.house.service.admin.AdminManager$$EnhancerByCGLIB$$2536b346.shipinPass()

at com.acec.house.actions.admin.AdminAction.shipinPass(AdminAction.java:1002)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:440)

at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:279)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:242)

at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:163)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:249)

at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)

at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)

at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)

at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)

at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)

at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)

at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Unknown Source)

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data truncated for column 'shenhe_time' at row 1

at com.mysql.jdbc.SQLError.convertShowWarningsToSQLWarnings(SQLError.java:717)

at com.mysql.jdbc.MysqlIO.scanForAndThrowDataTruncation(MysqlIO.java:3031)

at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1241)

at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:685)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1400)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1314)

at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1299)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)

at org.hibernate.hql.ast.exec.BasicExecutor.execute(BasicExecutor.java:98)

... 87 more

报这个错。我在数据库直接执行sql语句可以执行。

public void shipinPass(Integer id, String pass, String userName) {

if(pass.equals("true"))

manager.createQuery("update NewsRadioEO set state='审核通过',shenheName='"+userName+"',shenheTime=now() where id="+id).executeUpdate();

else

manager.createQuery("update NewsRadioEO set state='审核否决',shenheName='"+userName+"',shenheTime=now() where id="+id).executeUpdate();

}

这样却不行了,我把shenheTime=now() 改成shenheTime='2012-05-05'却可以执行

求指导

问题补充:

long2010 写道

建议你做两种尝试:

1.你把now()外面加上单引:

if(pass.equals("true"))

manager.createQuery("update NewsRadioEO set state='审核通过',shenheName='"+userName+"',shenheTime='now()' where id="+id).executeUpdate();

看hibernate是否会把你的now()直接交给数据库处理。

2.你把那个now()用java.util.Date数据类型得到然后赋过去。

if(pass.equals("true"))

manager.createQuery("update NewsRadioEO set state='审核通过',shenheName='"+userName+"',shenheTime='" + new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + "' where id="+id).executeUpdate();

第二种虽然肯定可用,但是多实例化了两个对象,我想你最好先尝试一下第一种方式,不行再采用第二种方式,即用java来获得当前时间。

谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值