Java 休眠SQL异常

Java 休眠SQL异常,java,hibernate,sqlexception,Java,Hibernate,Sqlexception,在过去的几天里,当我在netbeans IDE中运行Java struts2 Web应用程序时,ApacheTomcat日志中出现了这个奇怪的异常。我无法找出代码的哪一部分导致了此异常 May 5, 2012 12:16:47 AM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [default] in context with path [/latest-ra

在过去的几天里,当我在netbeans IDE中运行Java struts2 Web应用程序时,ApacheTomcat日志中出现了这个奇怪的异常。我无法找出代码的哪一部分导致了此异常

May 5, 2012 12:16:47 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/latest-raisin]   
threw exception [org.hibernate.exception.GenericJDBCException: Could not execute JDBC 
batch update] with root cause
java.sql.SQLException: Data truncated for column 'synsettype' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1989)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2150)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2119)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2415)
at 
com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1976)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1449)
at 

com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:114)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:109)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:244)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2541)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2494)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2821)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:113)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:185)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at com.generalsentiment.management.filters.PersistenceSessionFilter.doFilter(PersistenceSessionFilter.java:48)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at com.generalsentiment.management.filters.DisableUrlSessionFilter.doFilter(DisableUrlSessionFilter.java:91)
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:224)
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:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:964)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

信息-synsettype实际上是Synset表中的一列。

我猜您尝试插入的数据对于该列来说太长了。尝试增大列的大小

我猜您尝试插入的数据对于列来说太长了。尝试增大列的大小

synsettype列的值为varchar(200),它可以具有“常规”或“布尔”值。。根据业务规则,没有其他值。请使用showSql=true显示实际的insert语句,并调试这些值,以查看是否没有其他值或不必要的值whitespaces@SangramAnand:)
java.sql.SQLException:第1行“synsettype”列的数据被截断
。显然,会发生数据截断。synsettype列的值为varchar(200),它可以是“REGULAR”或“BOOLEAN”。。根据业务规则,没有其他值。请使用showSql=true显示实际的insert语句,并调试这些值,以查看是否没有其他值或不必要的值whitespaces@SangramAnand:)
java.sql.SQLException:第1行“synsettype”列的数据被截断
。显然,会发生数据截断。