BTW, refreshing the object through em.refresh() in a 'catch' block of my session bean does not help. refresh immediately throws an OptimisticLockException and the cache is not updated.
I am still looking for a way to find out which version of an object is actually in the cache, so that I can find out at which point the cache is updated by my application in the case of A. If I understand you correctly, then the B-behavior is actually expected and we should find out why A is working, when it shouldn't :)
Ulrich
[Message sent by forum member 'ulim' (ulim)]
http://forums.java.net/jive/thread.jspa?messageID=242652