The key is to keep your Sessions open longer. Many queries within one transaction, all branching an open session, is a very common and accepted design strategy, if not a design pattern.
As was mentioned, the Open Session in View pattern embraces this idea. It's easily implemented as a ServletFilter in a web based application.
Here's a little tutorial on How Hibernate Works. It explains a little about how the Hibernate3 Session works and how to avoid HibernateException types such as the ObjectNotFoundException and more to the point, LazyInitializationException:
http://jpa.ezhibernate.com/Javacode/learn.jsp?tutorial=07howhibernateworks