After all, you don't know exactly what fields to load until the user actually wants a field that isn't loaded. The field that triggers the database operation should influence what kind of fetch is done by the database. It sounds like this behavior should work: for non-relation fields, the current fetch plan is applied to the field’s owning instance, and the fields in the field’s load-fetch-group, plus the field itself are added to the list of fields.
Craig On Nov 24, 2008, at 3:53 PM, Pinaki Poddar wrote:
Hi, Sorry for delayed response. Let me restate the problem to see if I understand it correctly 1. Entity A has a one-to-one, lazily fetched relation to Entity B. public class A { @OneToOne(fetch=LAZY) private B b; 2. You want to get an instance of A in memory, but not the relatedinstance of B. Nor you want a join between Table for A and Table for B.3. But you should be able to access the primary field of B because OpenJPAhas fetched the value but hidden it somewhere.I have attached a sketch of how this can be done in three attached file,hopefully they are self-explanatory :) http://n2.nabble.com/file/n1574366/TestFetch2.java TestFetch2.java http://n2.nabble.com/file/n1574366/FA.java FA.java http://n2.nabble.com/file/n1574366/FB.java FB.javaThe short answer is you need to get hold of OpenJPAStateManager for A --the proxy object that intercepts and manages the persistent state oforiginal A. That StateManager has the primary key of B which saves OpenJPAanother join in case the user later calls A.getB(). -- View this message in context: http://n2.nabble.com/Get-%40Id-field-value-%28FK%29-without-loading-entity-%28JOIN%29-when-using-FetchGroups-or-Lazy-Loading-tp1499463p1574366.html Sent from the OpenJPA Users mailing list archive at Nabble.com.
Craig L Russell Architect, Sun Java Enterprise System http://db.apache.org/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
smime.p7s
Description: S/MIME cryptographic signature
