org.hibernate.exception.GenericJDBCException: could not insert

aellenli 2008-06-30 06:22:57
org.hibernate.exception.GenericJDBCException: could not insert
最好详细些,如果能辅导一下下,刚刚接触hiernate,直接,简单,明了的可以吗?我的,头大。。。
...全文
7906 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
javagtcpp 2012-05-23
  • 打赏
  • 举报
回复
数据表的ID列加自动递增就OK了,我的就是,可以通过!!!
zhanggang1496 2011-11-05
  • 打赏
  • 举报
回复
遇到类似的问题,24楼的方案可以解决~~
GeekFans 2011-04-12
  • 打赏
  • 举报
回复
我今天也遇到这个问题了
GeekFans 2011-04-12
  • 打赏
  • 举报
回复
数据表第一列加啊一个id自增主键,就行了
duiyucuo123123 2010-07-07
  • 打赏
  • 举报
回复
<generator class="native">
<param name="native">identity</param>
</generator>
把代码换成这个
renzhezq 2010-05-10
  • 打赏
  • 举报
回复
24楼的方案可以试一试,我遇到的问题就是这样解决的。。。
Rdiverson 2009-12-16
  • 打赏
  • 举报
回复
有很多原因,主要是处在数据库
1.如果你是 用hibernate自动生成的表 看看字段大小,也许你插入的数据大于了数据的长度
2.如上说的 采用了数据库的保留字段
yaminglin 2009-11-30
  • 打赏
  • 举报
回复
原因是derby中不能用user作为表名,将User类改名,重新建立映射,问题就可以解决。
Jong_Cai 2009-07-09
  • 打赏
  • 举报
回复
楼主是否连接MYSQL,如果是的话把你的Mysql设置成支持中文看看!
清风百草 2009-04-19
  • 打赏
  • 举报
回复
你在设计数据库表的时候有可能主键没有设置成自动增长!
thomas1997 2008-11-16
  • 打赏
  • 举报
回复
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not insert:......
这个错误是由Hibernate 3.2.4自身存在的bug引起,解决办法:
使用之前的老版本Hibernate或下载最近的Hibernate 3.2.4-sp1,取出对应压缩文件中的:hibernate3.jar文件,然后将路径:
C:\Program Files\MyEclipse Enterprise Workbench 5.1.0 GA\myeclipse\eclipse\plugins\com.genuitec.org.hibernate.eclipse_5.1.0\lib\hibernate中的hibernate3.jar文件替换掉即可(注意,上述路径是指本例中的路径)。
zhw9657350 2008-09-25
  • 打赏
  • 举报
回复
这样的错,大家帮助看一下。。。
Hibernate: insert into User (name, password, address, postCode, email, homephone, cellphone, officephone, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?)
org.hibernate.exception.SQLGrammarException: could not insert: [entity.User]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2272)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2665)
at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:60)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
at biz.UserBIZImpl.register(UserBIZImpl.java:66)
at test.Test.main(Test.java:21)
Caused by: java.sql.SQLException: Syntax error: Encountered "User" at line 1, column 13.
at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:505)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:94)
at org.hibernate.jdbc.AbstractBatcher.prepareStatement(AbstractBatcher.java:87)
at org.hibernate.jdbc.AbstractBatcher.prepareBatchStatement(AbstractBatcher.java:222)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2229)
... 12 more
Caused by: org.apache.derby.client.am.SqlException: Syntax error: Encountered "User" at line 1, column 13.
at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)
at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)
at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)
at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)
at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)
at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)
at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)
at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)
... 18 more
phon_oy 2008-07-03
  • 打赏
  • 举报
回复
把<property name="show_sql">ture</property>显示一下看看sql语句
aellenli 2008-07-01
  • 打赏
  • 举报
回复
?是对象不在持久化状态
yami251139 2008-06-30
  • 打赏
  • 举报
回复
(SQLStateConverter.java:103)
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:1986)
org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2405)
org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:37)
org.hibernate.engine.ActionQueue.execute(ActionQueue.java:248)
====================================================
我觉得可能你的对象不在持久化状态造成的这个原因
yami251139 2008-06-30
  • 打赏
  • 举报
回复
转的太多了。。。
看不下去实在@(#……(@#……%(@#*……%(@

你先把要传进去的值定为一个常量,试试看能不能插

能,说明你转换的时候出错了

不能,你的new BespeaklogDAO().save(bl); 写的有问题。。。

我觉得多半是后者

也没见你把插入的代码贴上来

贴一堆转换和传值的代码干什么?
*#@……¥*@#……¥*@#%……¥*

aellenli 2008-06-30
  • 打赏
  • 举报
回复
回音。。。
aellenli 2008-06-30
  • 打赏
  • 举报
回复
<generator class="native">
aellenli 2008-06-30
  • 打赏
  • 举报
回复
自增的,?赋
老紫竹 2008-06-30
  • 打赏
  • 举报
回复
你的配置文件,是否指定了id的 generate-class 为 identity 呢?
加载更多回复(9)

81,119

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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