We were able to get this working by creating two persistence units.
The first persistence unit has the entity with the lifecycle callbacks.
The second persistence unit does queries to get info used to do validation.
The lifecycle callbacks call utility methods that first try to get validation info from TreeCache. If that fails, they fall back to querying using the second persistence unit.
So far this has been working.
[Message sent by forum member 'jshowalter' (jshowalter)]
http://forums.java.net/jive/thread.jspa?messageID=293796