6
votes

Does anyone know if it is possible to get Hibernate to use 1 for the version (optimistic locking field) of a new object instead of zero? My application previously used Eclipselink which starts at 1 and the change is causing some problems.

I am using JPA but expect any solution to be Hibernate specific (a property in persistence.xml hopefully!).

1

1 Answers

8
votes

Good question, and it's not explicitly mentioned in the docs (even though it hints that it's possible). I also wasn't able to find any tests for this scenario, so, it may be a good improvement for the Hibernate test suite ;-)

Anyway, Hibernate will work as you expect if you map your @Version property with a starting value:

@Version private int version = 1;