is this worth a JIRA ?

---
regards
Marc Logemann
http://www.logemann.org
http://www.logentis.de




Am 08.04.2009 um 23:50 schrieb Tedman Leung:

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.


Reply via email to