It would appear then that JPA 2.0 is not vertically compatible with JPA 1.0. I base this on the fact that it appears I'm required to perform code changes in order for the expected behavior to be preserved. At the very least, I'd have to perform declarative changes in the application configuration.
I understand the bit about different strategies by different providers - no beef with that at all, and I expected that to be the case (why would it be otherwise if there is no standard or specification to adhere to?).
Nevertheless this still seems like a bug: the records are properly stored in the database by the persistence manager, but said PM is not properly keeping track of the state its in-memory objects (from which those records were persisted to begin with). I don't mean that the PM should be polling the DB for changes - this would be ludicrously expensive (and silly to boot!). However, this is pretty much a single-threaded operation at this point - no race condition to speak of such that the in-memory objects would become stale with respect to the DB.
Also - I'm unable to find accurate information (even in the JPA specs!) on how to use this shared-cache-mode element you mention on persistence.xml - can you point me to (or offer up) an example?
Thanks for the prompt response!
[Message sent by forum member 'drivera']
http://forums.java.net/jive/thread.jspa?messageID=478460