remove @Persist from: @Persist private Gene gene;
and your onActivate method seems strange perhaps if you return null instead of GeneDetails.class; the session is closed after renderring, not before the renderring is part of the request, but you chose to persist the Gene and redirect to your self in that case a new request happens and your problems.. Davor Hrg Davor Hrg On Tue, Aug 26, 2008 at 11:17 AM, moritzgilsdorf <[EMAIL PROTECTED]>wrote: > > I pass the Id of the Object to Detailspage and use onActivate() to query > for > the object I want to show in detail. > > My Details Page: > > public class GeneDetails { > ... > @Persist > private Gene gene; > > @Inject > private GeneDAO geneDAO; > ... > Object onActivate(Long id){ > if(userExists){ > gene = geneDAO.getGeneById(id); > return GeneDetails.class; > } > else > return Index.class; > } > ... > } > > My Gene.class > > public class Gene { > ... > private Set<Reagent> reagents; > ... > } > > The exception is thrown when i call: > > <t:if t:test="gene.reagents.isEmpty()"> > > If I understand this right, the session is closed directly after the query > was done and before the page is rendered. Do I have to query again for my > collection when I want to access it or is there any way to keep the session > open until the page-rendering has finished? > > Thanks > > ... > > Davor Hrg wrote: > > > > you should post some code, > > > > but the most likely scenario is that you are persisting > > Entities in your page > > > > this is not good because every request has a different session, > > and the session that loaded the collection was closed in a previous > > request, > > > > you should remember your search parameters instead holding on to the > > collection, > > > > If you are trying to optimize performance by caching results > > please don't, that is not the way hibernate supports it. > > you should always query again and let hibernate handle performance, > > to cache query results you'll need to get to know hibernate more > > and it's caching configuration (second-level cache, query cache ...). > > > > > > Davor Hrg > > > > On Tue, Aug 26, 2008 at 10:35 AM, moritzgilsdorf > > <[EMAIL PROTECTED]>wrote: > > > >> > >> Hi, > >> > >> I have a Problem with lazy loading. In my App I query a Database using > >> Hibernate. The workflow is the following: > >> > >> Searchpage -> Resultspage -> Detailspage > >> ------------------------------------------------------------------------ > >> search by keyword -> Results in Grid -> Details of picked result > >> > >> The queried Objects contain a collection that should be presented on the > >> Detailspage and loaded there lazily. When a hit in the result grid is > >> clicked, I pass the Id of the entry using the page activation context to > >> Detailspage (I want the Details to be bookmarkable). But when accessing > >> the > >> collection on the Detailspage, the LazyInitializationException is > >> thrown. > >> For Database-access I use an injected service interface. > >> > >> I believe this is not an unusual scenario so I hope anyone here can give > >> me > >> a hint on how to solve this problem. > >> > >> Thanks, Moritz > >> -- > >> View this message in context: > >> http://n2.nabble.com/LazyInitializationException-tp783491p783491.html > >> Sent from the Tapestry Users mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > >> > > > > > > -- > View this message in context: > http://n2.nabble.com/LazyInitializationException-tp783491p783576.html > Sent from the Tapestry Users mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >