Still i have the issue... I get the same exception if i loop through collection.. where i am wrong
Test
Code:
Parent p = service.getChildWithParent(1);
for (Child child : p.getChildrenDetails()) {
System.out.println(child.getChildName());
}
Stacktrace
Code:
main TransactionSynchronizationManager.getResource - <Retrieved value [org.springframework.orm.hibernate3.SessionHolder@2c35e] for key [org.hibernate.impl.SessionFactoryImpl@1687e7c] bound to thread [main]>
main TransactionAspectSupport.doCommitTransactionAfterReturning - <Invoking commit for transaction on com.gts.sample.service.IRowSampleService.getChildWithParent>
main AbstractPlatformTransactionManager.triggerBeforeCommit - <Triggering beforeCommit synchronization>
main AbstractPlatformTransactionManager.triggerBeforeCompletion - <Triggering beforeCompletion synchronization>
main AbstractPlatformTransactionManager.commit - <Initiating transaction commit>
main HibernateTransactionManager.doCommit - <Committing Hibernate transaction on session [org.hibernate.impl.SessionImpl@955cd5]>
main AbstractPlatformTransactionManager.triggerAfterCompletion - <Triggering afterCompletion synchronization>
main TransactionSynchronizationManager.clearSynchronization - <Clearing transaction synchronization>
main TransactionSynchronizationManager.unbindResource - <Removed value [org.springframework.orm.hibernate3.SessionHolder@2c35e] for key [org.hibernate.impl.SessionFactoryImpl@1687e7c] from thread [main]>
main TransactionSynchronizationManager.unbindResource - <Removed value [org.springframework.jdbc.datasource.ConnectionHolder@8ceeea] for key [org.apache.commons.dbcp.BasicDataSource@1060478] from thread [main]>
Exception in thread "main" org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.gts.sample.service.Parent.childrenDetails, no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163)
at com.gts.sample.service.TestRowSample.getTest(TestRowSample.java:36)
at com.gts.sample.service.TestRowSample.main(TestRowSample.java:44)
main HibernateTransactionManager.doCleanupAfterCompletion - <Closing Hibernate session [org.hibernate.impl.SessionImpl@955cd5] after transaction>
main SessionFactoryUtils.doClose - <Closing Hibernate Session>
main LazyInitializationException.<init> - <failed to lazily initialize a collection of role: com.gts.sample.service.Parent.childrenDetails, no session or session was closed>
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.gts.sample.service.Parent.childrenDetails, no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358)
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163)
at com.gts.sample.service.TestRowSample.getTest(TestRowSample.java:36)
at com.gts.sample.service.TestRowSample.main(TestRowSample.java:44)