just as additional information, this is also true about any lazy PersistentCollection too. I found that if I accessed the collection while it is in an attached state the values are available, but as soon as it becomes detached the collection becomes null even if I had just accessed it prior to detachment.
I'm not entirely sure if this is a bug or if it's suppose to work this way when detached. On Wed, Apr 08, 2009 at 05:18:48PM +0200, Marc Logemann wrote: > Hi, > > with OpenJPA 1.2.0 i am having some problems detaching attributes which > are in a fetch-group. My persistence.xml is: > > <property name="openjpa.DetachState" value="fetch- > groups(DetachedStateField=true)"/> > > My Domain class header: > > @FetchGroups({ > @FetchGroup(name="posDetail", attributes={ > @FetchAttribute(name="deliveryAddresses") > }) > }) > public class Order { > > @OneToMany(mappedBy = "order", cascade = CascadeType.ALL, fetch = > FetchType.LAZY) > List<DeliveryAddress> deliveryAddresses; > ... > } > > (in fact i also have the @LoadFetchGroup("posDetail") to be sure.....) > > Now when i am leaving my DAO layer which means that the persistence > contexts ends, the delivery address is "null" even though its in the > fetch group. I even queried for the fetch group in the DAO before > leaving it via: > > OpenJPAQuery oQuery = OpenJPAPersistence.cast(em.createQuery("select o > from Order o where o.oid = ?1")); > oQuery.setParameter(1, oid); > // > oQuery.getFetchPlan().setMaxFetchDepth(3).addFetchGroup("posDetail"); > List list = oQuery.getResultList(); > if(list != null && list.size() > 0) { > return (Order)list.iterator().next(); > } > > I know it must be a detach issue because with the following > persistence.xml it works (but i definitely wont use this config in > production) > > <property name="openjpa.DetachState" value="all"/> > > Am i missing something here? When i debug my DAO, the deliveryAddress > attribute is populated but as soon as i leave my DAO, its lost. > > --- > regards > Marc Logemann > http://www.logemann.org > http://www.logentis.de > > > > -- Ted Leung ted...@sfu.ca I can speak Canadian, American, Australian, and little English.