hibernate 入门 Could not execute JDBC batch update 能在sql数据库中创建一个表,但是不能添加数据

Hibernate: insert into Student (age, name, id) values (?, ?, ?)
Exception in thread "main" org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1028)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:366)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
at StudentTest.main(StudentTest.java:27)
Caused by: java.sql.BatchUpdateException: java.lang.ArrayIndexOutOfBoundsException: 6
at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:743)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)

我猜可能是这个原因:

2.估计是你的列名里面有关键字的原因吧,命名列的时候不要单独使用date,ID...这种关键字

完整看这儿解决
[url]http://blog.csdn.net/derpvailzhangfan/archive/2008/04/26/2332795.aspx[/url]

Caused by: java.sql.BatchUpdateException: java.lang.ArrayIndexOutOfBoundsException: 6

这都报数组越界的异常了

你代码写得有问题吧

:?
也许还真是。。
批处理数组越界。。
偶没仔细看,呵呵

请检查执行的语句是否有误,例如保存的值多于写的字段数、或者列名使用了数据库的关键字等等。

这种异常只要你好好看看最下面的提示[code="java"]
Caused by: java.sql.BatchUpdateException: java.lang.ArrayIndexOutOfBoundsException: 6
at com.mysql.jdbc.ServerPreparedStatement.executeBatch(ServerPreparedStatement.java:743)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)

[/code]
说是数组越界,你好好检查一下你的程序,我感觉如果你是批量插入的话应该是去数据时出的错,你再好好检查一下源码。