For the lazy loading, what about writing a custom servlet filter as
recommended in the hibernate docs, one that handles the session for
you?  Let it sit out there in front of Tapestry and manage the
sessions.  I'm leaning toward
session-per-request-with-detached-objects and letting optimistic
locking handle the concurrency issues.  I'm not so concerned about
that issue.

My real issue is with the lazy-loading.  We'll have objects with some
pretty hefty fields -- text and maybe blob types -- that I REALLY
don't want to have loaded if I don't have to.

Cheers,
Bill

On 11/4/06, James Carman <[EMAIL PROTECTED]> wrote:
Bill,

The lazy loading problem can't really be solved in a generalized way.
But, Tapernate does a lot of work for you.  I wouldn't suggest using
the property persistence strategies from Tapernate right now.  I'm
working on a new version that will hopefully be more robust.  The main
problem that I face is knowing exactly *how* to reattach the detached
object to the session when a request comes in.  There are a few
different scenarios and the problem is knowing which one you're in!
Also, if you use merge or update, then your object's state will be
persisted at the end of the request (assuming that you leave
transaction-per-request on).  What if you don't really want the state
persisted during that request (you're in the middle of a "wizard"
perhaps)?  I think the way to go is to use the
session-per-conversation pattern, but I'm trying to come up with a
good way to specify conversation boundaries.  Also, should we support
more than one conversation at a time (what if the user clicks to go to
another part of your webapp from within your wizard)?  If so, how do
the potentially orphaned conversations get cleaned up?    This is what
causes me to loose sleep at night (yes, I need a life). :-)



On 11/3/06, Bill Holloway <[EMAIL PROTECTED]> wrote:
> I've seen recently some criticism of Tapestry in terms of using
> Hibernate.  Problems with lazy loading.  I know Tapernate is out
> there, but the docs are pretty thin.  I'm using the threadLocal
> version of the much-documented HibernateUtil in a DAO layer.  Going
> well.  What will Tapernate actually do for me?  Does it really solve
> the lazy-loading problem?  Are there decent docs?
>
> I would HATE to have to abandon tapestry to work around performance
> problems falling out of non-lazy-loading.
>
> Thanks,
> Bill
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
"Budgets are moral documents."

    -- Ann Richards

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to