Scenario: load an Order inside a transaction, return it, then touch the lazy
items collection AFTER the transaction (and its Hibernate session) has closed.

order.getItems().size()  ->  org.hibernate.LazyInitializationException: Cannot lazily initialize collection of role 'com.ankurm.jdbcvsjpa.jpa.Order.items' with key '34' (no session)

This is the LazyInitializationException every JPA tutorial warns about and few
show you actually triggering. It is not a bug: the collection genuinely has not
been read from the database yet, and the session that could read it is gone.
