When using hibernate.jdbc.batch_versioned_data=false and optimistic-lock=dirty, hibernate will use jdbc batching to perform updates. This means that if the data has been changed in the db, the updates will not take place, but hibernate will throw no exceptions.
It looks like that in the AbstractEntityPersister class method as follows:
public boolean isBatchable() {
return jdbcBatchVersionedData || !isVersioned();
}
should return false in the above case. If hibernate.jdbc.batch_versioned_data = false means that the JDBC driver returns incorrect row counts from executeBatch(), then it should not use the batch process when using the optimistic-lock=dirty.
Thanks!
Hibernate version: 2.1.8
Name and version of the database you are using: Oracle 8.1.7
|