Community
Participate
Working Groups
The CDO Hibernate Store makes use of Hibernate optimistic locking. For this the version number passed in by CDO to the storage layer is used. Hibernate updates the version when updating information in the database. For fault free operation it is critical that the hibernate generated version number is the same as the one passed in by CDO. It shows that the mechanism of keeping the hibernate version number in sync with CDO's version number is not fault proof and that there are special cases where the version number in Hibernate is not increated while CDO expects an increase in version number. This bugzilla proposes to store the CDO version as a normal property in the database. This means that Hibernate optimistic locking is disabled. The impact of this is considered to be minimal as: - version checking is already done in the CDO layer, so having this in Hibernate is less needed and only results in extra overhead. - for backward compatibility the version colum name is used.
Created attachment 170524 [details] Hibernate Store Patch
Created attachment 170525 [details] Small patch for cdo testcases This patch contains some small enhancements for enabling the testcases for Hibernate
The CDO Hibernate store patch also contains fixes for the following 2 issues: - https://bugs.eclipse.org/bugs/show_bug.cgi?id=301339 [Hibernate] Write Default Value from Client to Server - https://bugs.eclipse.org/bugs/show_bug.cgi?id=313539 [Hibernate] NonUniqueObjectException when saving a model with cyclical references
Created attachment 170541 [details] Combined patch v2 - ready to be committed Just a few reformats ;-)
Patch committed
Available in 3.0 GA: http://download.eclipse.org/modeling/emf/cdo/updates/3.0-releases/