You can indeed do it and it is a common pattern when using Spring and Hibernate. You can enable it very easily by putting the code below in your web.xml
<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>lazyLoadingFilter</filter-name>
<url-pattern>/mvc/*</url-pattern>
</filter-mapping>
Once the you have this in place, every call in hibernate made within that call will use the same session:
@Autowired
protected SessionFactory sessionFactory;
protected Session getSession() {
return SessionFactoryUtils.getSession(sessionFactory, true);
}
However, as Peter Gwiazda says, you may or may not want to do this depending on the scale and complexity of your application. It sounds like your objects are quite complex so having your views essentially trigger more SQL statements as you traverse your entity in your JSP or whatever is not going to lead to great performance.
It is generally a better pattern to convert your object into a DTO with just what your view needs and limit the amount of data you fetch back from your database.