Is L2 cache configured for this experiment? If datacache is active, then
that the state may be delivered from there itself without hitting the
database.
Does the test behave differently, if you set
a) datacahe off
or b) evict from both L1 and L2 cache before refresh?
To ensure that em.evict() acts on L2 cahce too, please set <property
name="openjpa.BrokerImpl" value="EvictFromDataCache=true"/>
Pinaki Poddar
972.834.2865
-----Original Message-----
From: Kevin Sutter [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 04, 2007 3:59 PM
To: [email protected]
Subject: em.refresh() semantics
Hi,
From reading the spec and the Pro EJB 3 book, I was under the
impression that a call to em.refresh() would refresh from the
database regardless. No questions asked. But, I am finding
that we don't work that way. I made a simple update to our
simple PersistenceTest using the AllFieldTypes (non-versioned)
and NamedEntity (versioned) objects. And, neither one will
load when refresh() is called. For some reason, with the
AllFieldTypes, none of the fields are being detected as being
updated. And, with the NamedEntity, since the version field
hasn't been updated, then it doesn't refresh the rest of the object.
From my reading, this doesn't sound like proper processing.
But, before I start making any changes, I'm looking for
alternate interpretations of the spec. Thanks.
I've attached a patch for PersistenceTest, if you are
interested in trying it out.
Kevin
Notice: This email message, together with any attachments, may contain
information of BEA Systems, Inc., its subsidiaries and affiliated
entities, that may be confidential, proprietary, copyrighted and/or
legally privileged, and is intended solely for the use of the individual or
entity named in this message. If you are not the intended recipient, and
have received this message in error, please immediately return this by email
and then delete it.