Lee, I will let someone else answer your questions, but your test case
reminded me of a BalusC (JSF guru) blog[1] that I visited many months ago.
It does not answer your question, but it is an alternate solution for what
you are already attempting to do...I think. :)

[1] http://balusc.blogspot.com/2007/03/user-session-filter.html


On Fri, Aug 16, 2013 at 6:10 AM, leesy <[email protected]> wrote:

> I'm having trouble getting my head around Java EE, transactions & lazy
> loading & I was wondering if anyone could be kind enough to help me get
> things straight in my head.  It's something I've never quite got right.
> I'll try & keep the code samples in this email short, but I'll add links to
> fuller examples at the end.  Sorry if this was better on say the OpenJPA
> Users list.
>
> I've got a piece of code that retrieves a `User` from the Database,
> performs
> some validation on it & then attempts to create another DB object called
> `StoredCookie` if that validation passes.  So imagine something like:
>
>
>
> Now I'm having two separate troubles depending how I do things.
>
> The first issue is that the User object u is being detached after the call
> to findByEmail.  The customer property of user is defined using a FetchTYpe
> of LAZY & I believe this combined with my use of
> TransactionAttributeType.REQUIRED at class level on my DAO's, is what is
> causing the entity to come back detached.  So I've got over this hurdle by
> adding a TransactionAttributeType of NEVER to any find methods.  This seems
> to leave the user object detached.  Although this is what I want, I don't
> think I'm doing things right as it's probably causing issue #2.
>
> The second issue comes about when I call storedCookieDAO.persist(...).  It
> gives me a message saying that "The given instance
> "com.oobjects.sso.model.User-252" is not managed by this context".  The
> user
> is still attached to something, as I can fetch lazily fetched properties.
> But as the UserDAO & StoredCookieDAO shared an entity manager (checked the
> hash codes to make sure they are the same), I'm a little confused as to
> what
> they are attached to.
>
> Does anyone know what I'd need to do allow my StoredCookie to be persisted?
> What is the User object attached to that's preventing it being persisted by
> another DAO using the same entity manager?
>
> Here are a few code samples of how I am attempting various bits:
> https://gist.github.com/LTheobald/6248694
> <https://gist.github.com/LTheobald/6248694>
>
> Thanks for any help anyone can give,
> Lee
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Java-EE-transactions-lazy-loading-tp4664670.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>

Reply via email to