Bech on Enterprise Java
Friday, June 23, 2006
  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 ;
}

One of those stupid mistakes that can snaeak in and cause some minutes of headache. Did you get here by searching for the exception, and this solved your problem, please leave a comment! :-)
 
I hereby promise to blog my thoguhts and views on Enterprise java, design patterns, frameworks and all other things that make life as a software developer interesting.

Name:
Location: Oslo, Oslo, Norway

www.glennbech.com

ARCHIVES
May 2005 / June 2005 / July 2005 / January 2006 / February 2006 / June 2006 / July 2006 / August 2006 / October 2006 / November 2006 / March 2007 /


Powered by Blogger