错误日志:
Could
not
synchronize
database
state
with session
org.hibernate.HibernateException:
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:32)
原因及解决办法:
原因1:
Hibernate: Could not synchronize database state with session , Unexpected row count: 0 expected: 1
If you get this error message during a session
.flush();
Could
not
synchronize
database
state
with session
org.hibernate.HibernateException:
at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:32)
And let's assume you're working with a Persistent object with a generated primitive key, and an "unsaved value" strategy.
Your
problem is probably that you forgot to initialize the private field
used as an id to the "unused value". This means that you should never
never never write a persistent class like this ;
public class MyClass () {
private int id ;
}
But rather do this ;
public class MyClass () {
private int id = -1 ;
}
原因2:
有可能是数据库里有两条ID相同的记录
或者重复主键或者违反唯一约束导致。
本文分析了Hibernate在尝试同步数据库状态时出现的错误,并提供了两种可能的原因及其解决方案。一种原因是未初始化标识字段导致的问题,另一种原因是数据库中存在重复的主键。
1340

被折叠的 条评论
为什么被折叠?



