Consider to use OpenSessionInViewFilter http://static.springsource.org/spring/docs/1.2.9/api/org/springframework/orm/hibernate3/support/OpenSessionInViewFilter.html
The doc: "Intended for the "Open Session in View" pattern, i.e. to allow for lazy loading in web views despite the original transactions already being completed." On Tue, Mar 2, 2010 at 2:05 PM, Colin Rogers <coli...@groundsure.com> wrote: > " I'm not DB expert, but why are you using transactions for "read only" > (SELECTs) queries?" > > "If you aren't concerned with "good design" then I wouldn't worry about > transactions at all" > > Because you need the transactions for lazy fetching of child elements in > hibernate. > > -----Original Message----- > From: Riyad Kalla [mailto:rka...@gmail.com] > Sent: 02 March 2010 16:53 > To: users@wicket.apache.org > Subject: Re: [newbie] Wicket, Spring, Hibernate and transactions in > views. > > I'm not DB expert, but why are you using transactions for "read only" > (SELECTs) queries? I've only ever seen transactions used to wrap > INSERT/UPDATE/DELETE statements (writes) > > -R > > On Tue, Mar 2, 2010 at 9:46 AM, Colin Rogers <coli...@groundsure.com> > wrote: > > > "I'd recommend you to make your transactional control in your services > > and call them from your pages instead of trying to control it in your > > view." > > > > I'd agree in terms of "good design", but I'm coding something for > myself > > - and I'm trying to make it easy and as little time consuming as > > possible. So, yes, transactions in the presentation layer is "bad" - > but > > it's only read-only transactions, so I'm letting myself off! ;) > > > > Having the transactionally controlled service methods, individually > > instantiate all child entities by hand is also time consuming and > would > > potentially harm performance (if the view didn't need the children, > for > > example). > > > > -----Original Message----- > > From: Pedro Sena [mailto:sena.pe...@gmail.com] > > Sent: 02 March 2010 16:39 > > To: users@wicket.apache.org > > Subject: Re: [newbie] Wicket, Spring, Hibernate and transactions in > > views. > > > > I don't think so. > > > > I'd recommend you to make your transactional control in your services > > and > > call them from your pages instead of trying to control it in your > view. > > > > Best Regards, > > > > On Tue, Mar 2, 2010 at 1:25 PM, Colin Rogers <coli...@groundsure.com> > > wrote: > > > > > All, > > > > > > > > > > > > I've got a bit of a newbie Wicket question involving Spring, > Hibernate > > > and transactions. > > > > > > > > > > > > The question that I can't seem to find an answer to; > > > > > > > > > > > > Can a view be a created/injected/aop'd like a spring bean so that it > > > honours @Transactional methods for hibernate? > > > > > > > > > > > > An example; > > > > > > > > > > > > public class HomePage extends WebPage { > > > > > > > > > > > > @SpringBean // this is working fine > > > > > > private SessionFactory sessionFactory; > > > > > > > > > > > > public HomePage(final PageParameters parameters) { > > > > > > > > > > > > this.init(); > > > > > > } > > > > > > > > > > > > @Transactional // this is not working > > > > > > public void init() { > > > > > > > > > > > > Criteria criteria = > > > sessionFactory.getCurrentSession().createCriteria(MyEntity.class); > > > > > > List<MyEntity> myEntities = criteria.list(); > > > > > > for( MyEntity myEntity : myEntities ) { > > > > > > > > > > > > // where subEntities is a lazy collection > > > > > > for( SubEntity subEntity : > myEntity.getSubEntities() > > ) > > > { > > > > > > > > > > > > // ... > > > > > > } > > > > > > } > > > > > > } > > > > > > } > > > > > > > > > > > > I've been reading Wicket In Action book, various places on the net > and > > > of course, emails on the subject on this list and this particular > > > tutorial; > > > > > > > > > > > > > http://wicketinaction.com/2009/06/wicketspringhibernate-configuration/ > > > > > > > > > > > > And I'm still wondering, is this something that is actually > possible? > > I > > > could full understand that it wouldn't be - i.e. that the injector > > only > > > works for Spring injection dependency and not AOP or anything else. > So > > > you inject your dependencies - and they have transaction support > etc. > > > But that means I'll be having to force fetching of lazily fetched > > > children from outside the views themselves, which is obviously very > > > painful. It would be so much easier to have transaction support in > the > > > view itself and not have to delegate. > > > > > > > > > > > > Any help would be greatly appreciated. > > > > > > > > > > > > The error message I'm receiving is; > > > > > > > > > > > > Caused by: org.hibernate.HibernateException: createCriteria is not > > valid > > > without active transaction > > > > > > at > > > > > > org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWra > > > pper.invoke(ThreadLocalSessionContext.java:338) > > > > > > at $Proxy15.createCriteria(Unknown Source) > > > > > > at com.tenthart.tacs.testpres.HomePage.init(HomePage.java:39) > > > > > > at com.tenthart.tacs.testpres.HomePage.<init>(HomePage.java:28) > > > > > > ... 34 more > > > > > > > > > > > > Cheers, > > > > > > Col > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Emap delivers intelligence, inspiration and access through > > publications, > > > events and data businesses in retail, media, the public sector and > the > > built > > > environment. www.emap.com. > > > > > > The information in or attached to this email is confidential and may > > be > > > legally privileged. If you are not the intended recipient of this > > message > > > any use, disclosure, copying, distribution or any action taken in > > reliance > > > on it is prohibited and may be unlawful. If you have received this > > message > > > in error, please notify the sender immediately by return email or by > > > telephone on +44(0)207 728 5000 and delete this message and any > copies > > from > > > your computer and network. The Emap group does not warrant that this > > email > > > and any attachments are free from viruses and accepts no liability > for > > any > > > loss resulting from infected email transmissions. > > > > > > The Emap group reserves the right to monitor all e-mail > communications > > > through its networks. Please note that any views expressed in this > > email may > > > be those of the originator and do not necessarily reflect those of > the > > Emap > > > group. > > > > > > GroundSure Ltd. Company number 03421028 (England and Wales) > > > Emap Limited. Company number: 0537204 (England and Wales). > > > Registered Office: Greater London House, Hampstead Road, London NW1 > > 7EJ, > > > United Kingdom. > > > Details of the operating companies forming part of the Emap group > can > > be > > > found at www.emap.com > > > > > > > > > > -- > > /** > > * Pedro Sena > > * Systems Architect > > * Sun Certified Java Programmer > > * Sun Certified Web Component Developer > > */ > > > > > > Emap delivers intelligence, inspiration and access through > publications, > > events and data businesses in retail, media, the public sector and the > built > > environment. www.emap.com. > > > > The information in or attached to this email is confidential and may > be > > legally privileged. If you are not the intended recipient of this > message > > any use, disclosure, copying, distribution or any action taken in > reliance > > on it is prohibited and may be unlawful. If you have received this > message > > in error, please notify the sender immediately by return email or by > > telephone on +44(0)207 728 5000 and delete this message and any copies > from > > your computer and network. The Emap group does not warrant that this > email > > and any attachments are free from viruses and accepts no liability for > any > > loss resulting from infected email transmissions. > > > > The Emap group reserves the right to monitor all e-mail communications > > through its networks. Please note that any views expressed in this > email may > > be those of the originator and do not necessarily reflect those of the > Emap > > group. > > > > GroundSure Ltd. Company number 03421028 (England and Wales) > > Emap Limited. Company number: 0537204 (England and Wales). > > Registered Office: Greater London House, Hampstead Road, London NW1 > 7EJ, > > United Kingdom. > > Details of the operating companies forming part of the Emap group can > be > > found at www.emap.com > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > > Emap delivers intelligence, inspiration and access through publications, > events and data businesses in retail, media, the public sector and the built > environment. www.emap.com. > > The information in or attached to this email is confidential and may be > legally privileged. If you are not the intended recipient of this message > any use, disclosure, copying, distribution or any action taken in reliance > on it is prohibited and may be unlawful. If you have received this message > in error, please notify the sender immediately by return email or by > telephone on +44(0)207 728 5000 and delete this message and any copies from > your computer and network. The Emap group does not warrant that this email > and any attachments are free from viruses and accepts no liability for any > loss resulting from infected email transmissions. > > The Emap group reserves the right to monitor all e-mail communications > through its networks. Please note that any views expressed in this email may > be those of the originator and do not necessarily reflect those of the Emap > group. > > GroundSure Ltd. Company number 03421028 (England and Wales) > Emap Limited. Company number: 0537204 (England and Wales). > Registered Office: Greater London House, Hampstead Road, London NW1 7EJ, > United Kingdom. > Details of the operating companies forming part of the Emap group can be > found at www.emap.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- Pedro Henrique Oliveira dos Santos