The book references the open session in view pattern as a way to avoid LazyInitializationException when working with objects that use lazy loaded references in the web tier. Having come off a project that used a toplink persistence layer, we never saw this kind of exception despite using objects with indirect collections (i.e. lazy loading) outside of a session. In researching it, I came across this link:
http://forums.oracle.com/forums/thread.jspa?messageID=1156471�
which suggests toplink avoids this situation by using an object-based secondary cache (versus hibernate's row-based "L2" cache) .
Are the facts as stated correct? It seems like this is a fairly significant difference between toplink and hibernate--that is, you have to be more careful regarding lazy initialization with hibernate.