I'm writing a hibernate application and I'm using hibernates automatic version checking to ensure that my transactions are properly isolated from each other. I'm doing this by adding the version property in all of my classes. Is this enough or do I also need to set an isolation level in my application? For example
I like automatic version checking, because it does not use locks.
I don't like to set an isolation level because it introduces locks.
Is it a good idea to mix optimistic and pessimistic transaction isolation. Or is it overkill?