hibernate3 有关SQL语句中的默认关键字和Could not execute JDBC batch update异常问题`

pioneer_csdn 2007-08-28 04:13:20
刚开始学Hibernate`

在做一个表的插入时``出现了个异常`

org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:202)
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)
org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)
org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:297)
org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
org.hibernate.impl.SessionImpl.flush(SessionImpl.java:985)
org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:333)
org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
cn.pior.struts.action.AddEnforceLawerInfoAction.execute(AddEnforceLawerInfoAction.java:92)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

我到网上查了查``说是有可能是因为SQL中使用了默认关键字的问题``

这是H的输出`

Hibernate: insert into zfryinfo (dwId, bh, zfzh, name, IDCard, sex, brithday, education, bz, station, duty, nation, zzmm, remark, del, ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

这里面有默认关键字吗?

这默认关键字都有什么?

以后在设计表时就应该回避这些默认关键字吗??
...全文
623 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
liushoucang 2008-11-07
  • 打赏
  • 举报
回复
产生这个问题的原因一般有以下几种:

一:数据库中字段的长度和HIBERNATE配置文件中的长度不一致
二:数据库的字符集有问题,不是UTF-8,而Hibernate默认编码为UTF-8,解决方法要么该数据库的字符集,要么在程序中处理。
pioneer_csdn 2007-08-28
  • 打赏
  • 举报
回复
现在我从CMD进MYSQL查询出来的不是乱码``

在eclipse里查询出来就不行``

怎么回事呢``明天再说吧``谢谢`几位的帮忙``
pioneer_csdn 2007-08-28
  • 打赏
  • 举报
回复
哈``OK了``有一个字段字符太长了```呵呵``

可还是有```中文乱码的问题``

这个JAVA的软肋怎么能克服呢?
pioneer_csdn 2007-08-28
  • 打赏
  • 举报
回复
噢 ```我去找找看``
zzxhunter 2007-08-28
  • 打赏
  • 举报
回复
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
转换错误哈.
这个就有很多可能了:比如你传入的字符串长度过长,你java类里面属性的类型和.hbm.xml里面声明不一致都可以造成以上错误。
pioneer_csdn 2007-08-28
  • 打赏
  • 举报
回复
<generator class="increment" />

我已经是这样了啊```

.hbn.xml文件中也没有catalog="XXX"
yztommyhc 2007-08-28
  • 打赏
  • 举报
回复
配置文件里这么写
<id name="id" type="java.lang.Long">
<column name="ID" precision="10" scale="0" />
<generator class="increment" />
</id>
pioneer_csdn 2007-08-28
  • 打赏
  • 举报
回复
我这的ID是在MYSQL里设置的自增列`怎么设置?
zzxhunter 2007-08-28
  • 打赏
  • 举报
回复
很可能是非空字段插入空值之类的错误嘛,比如ID,你是否赋值?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧