title: Hibernate LazyInitializationException
body: <p>I am getting exceptions for my code which was working perfectly fine. An action method was to be called but, I get this exception just after the method invocation is done.</p>
  
  <p>I tried all the options available on the web, but nothing seems to really help me.</p>
  
  <pre><code>12/14 23:30:17 INFO  er.SessionDetectionInterceptor  - as dualauth is disabled. session interceptor doesnt validate
  12/14 23:30:22 ERROR te.LazyInitializationException  - failed to lazily initialize a collection of role: com.apalya.model.User.broadband, no session or session was closed
  org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.apalya.model.User.broadband, 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.equals(PersistentSet.java:406)
      at java.util.Vector.indexOf(Vector.java:361)
      at java.util.Vector.contains(Vector.java:320)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:109)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.array(JSONWriter.java:441)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:150)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.write(JSONWriter.java:94)
      at org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:115)
      at org.apache.struts2.json.JSONResult.createJSONString(JSONResult.java:200)
      at org.apache.struts2.json.JSONResult.execute(JSONResult.java:172)
      at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
      at com.apalya.filter.SessionDetectionInterceptor.intercept(SessionDetectionInterceptor.java:117)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.apalya.filter.UserDetectionInterceptor.intercept(UserDetectionInterceptor.java:53)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
      at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor.intercept(ParameterFilterInterceptor.java:135)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.CreateSessionInterceptor.intercept(CreateSessionInterceptor.java:93)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
      at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
      at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at com.apalya.filter.XSSFilter.doFilter(XSSFilter.java:29)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:662)
  org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.apalya.model.User.broadband, no session or session was closed
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:230)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.write(JSONWriter.java:94)
      at org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:115)
      at org.apache.struts2.json.JSONResult.createJSONString(JSONResult.java:200)
      at org.apache.struts2.json.JSONResult.execute(JSONResult.java:172)
      at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
      at com.apalya.filter.SessionDetectionInterceptor.intercept(SessionDetectionInterceptor.java:117)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.apalya.filter.UserDetectionInterceptor.intercept(UserDetectionInterceptor.java:53)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
      at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
      at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at com.opensymphony.xwork2.interceptor.ParameterFilterInterceptor.intercept(ParameterFilterInterceptor.java:135)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.interceptor.CreateSessionInterceptor.intercept(CreateSessionInterceptor.java:93)
      at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
      at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
      at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at com.apalya.filter.XSSFilter.doFilter(XSSFilter.java:29)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:662)
  Caused by: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.apalya.model.User.broadband, no session or session was closed
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:230)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.array(JSONWriter.java:441)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:150)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      ... 86 more
  Caused by: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.apalya.model.User.broadband, no session or session was closed
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:230)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      ... 93 more
  Caused by: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.apalya.model.User.broadband, no session or session was closed
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:230)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      ... 97 more
  Caused by: org.apache.struts2.json.JSONException: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.mypersonal.model.User.broadband, no session or session was closed
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:230)
      at org.apache.struts2.json.JSONWriter.process(JSONWriter.java:160)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:126)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      ... 101 more
  Caused by: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.mypersonal.model.User.broadband, 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.equals(PersistentSet.java:406)
      at java.util.Vector.indexOf(Vector.java:361)
      at java.util.Vector.contains(Vector.java:320)
      at org.apache.struts2.json.JSONWriter.value(JSONWriter.java:109)
      at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:352)
      at org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:215)
      ... 105 more
  </code></pre>
  
  <p>my model class</p>
  
  <pre><code>@Entity
  @Table(name = "user")
  public class User implements Serializable {
  
      private static final long serialVersionUID = 1L;
      private Long id;
  
      private Boolean approved;
      private Boolean subscribed;
      private Date createdOn;
  
      private Set&lt;UserBroadband&gt; broadband;
      private Set&lt;UserBussinessModel&gt; userBussinessModel;
  
      @Id
      @GeneratedValue(strategy = GenerationType.AUTO)
  
      public Long getId() {
          return id;
      }
  
      public void setId(Long id) {
          this.id = id;
      }
  
  
  
      @Column(name = "approved")
      public void setApproved(Boolean approved) {
          this.approved = approved;
      }
  
      public Boolean getApproved() {
          return approved;
      }
  
      @Column(name = "createdOn")
      public void setCreatedOn(Date createdOn) {
          this.createdOn = createdOn;
      }
  
      public Date getCreatedOn() {
          return createdOn;
      }
  
      /*@OneToMany(targetEntity = com.apalya.model.UserBussinessModel.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "id")
      @JsonIgnore*/
      @OneToMany( fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "user"  )
      @org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE})
      @Basic( optional = false )
      @Column( nullable = false  )
      public Set&lt;UserBussinessModel&gt; getUserBussinessModel() {
          return userBussinessModel;
      }
  
      public void setUserBussinessModel(Set&lt;UserBussinessModel&gt; userBussinessModel) {
          this.userBussinessModel = userBussinessModel;
      }
  
      @Column(name = "company")
      public String getCompany() {
          return company;
      }
  
      public void setCompany(String company) {
          this.company = company;
      }
  
      @Column(name = "status")
      public String getStatus() {
          return status;
      }
  
      public void setStatus(String status) {
          this.status = status;
      }
  
      @Column(name = "subscribed")
      public Boolean getSubscribed() {
          return subscribed;
      }
  
      public void setSubscribed(Boolean subscribed) {
          this.subscribed = subscribed;
      }
  
      @Column(name = "auto_provision")
      public Boolean getAutoProvision() {
          return autoProvision;
      }
  
      public void setAutoProvision(Boolean autoProvision) {
          this.autoProvision = autoProvision;
      }
  
      /**
       * @param fname the fname to set
       */
      public void setFname(String fname) {
          this.fname = fname;
      }
  
      /**
       * @return the fname
       */
      @Column(name = "first_name")
      public String getFname() {
          return fname;
      }
  
      /**
       * @param lname the lname to set
       */
      public void setLname(String lname) {
          this.lname = lname;
      }
  
      /**
       * @return the lname
       */
      @Column(name = "last_name")
      public String getLname() {
          return lname;
      }
  
      /**
       * @param lastLoggedOn the lastLoggedOn to set
       */
      public void setLastLoggedOn(Date lastLoggedOn) {
          this.lastLoggedOn = lastLoggedOn;
      }
  
      /**
       * @return the lastLoggedOn
       */
      public Date getLastLoggedOn() {
          return lastLoggedOn;
      }
  
      @Column(name = "from_date")
      public Date getFromDate() {
          return fromDate;
      }
  
      public void setFromDate(Date fromDate) {
          this.fromDate = fromDate;
      }
      @Column(name = "to_date")
      public Date getToDate() {
          return toDate;
      }
  
      public void setToDate(Date toDate) {
          this.toDate = toDate;
      }
      /*@OneToMany(targetEntity = com.apalya.model.UserBroadband.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "id")
      @JsonIgnore*/
      @OneToMany( fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, mappedBy = "userId"  )
      @org.hibernate.annotations.Cascade({org.hibernate.annotations.CascadeType.SAVE_UPDATE})
      @Basic( optional = false )
      @Column( nullable = false  )
      public Set&lt;UserBroadband&gt; getBroadband() {
          return broadband;
      }
  
      public void setBroadband(Set&lt;UserBroadband&gt; broadband) {
          this.broadband = broadband;
      }
  
  }
  </code></pre>