Menu

Lazy Initialization Exception

Help
2011-06-16
2013-05-30
  • Nestor Urquiza

    Nestor Urquiza - 2011-06-16

    You are probably aware of this one but I am getting exceptions through all my container code that I believe I was not getting before my latest update from the trunk. They look like the bellow:

    2011-06-16 16:10:37,608 DEBUG [net.sf.jpasecurity.security.EntityFilter] - 0:0:0:0:0:0:0:1%0 2EEB4CA1969DFE131665F266C69119D1 Filtering query SELECT c FROM ClientTradeImportStrategyMap c WHERE c.clientTradeImport.id = 8 ORDER BY name
    2011-06-16 16:10:37,609 INFO [net.sf.jpasecurity.security.EntityFilter] - 0:0:0:0:0:0:0:1%0 2EEB4CA1969DFE131665F266C69119D1 No access rules defined for selected type. Returning unfiltered query
    2011-06-16 16:10:37,617 DEBUG [net.sf.jpasecurity.security.EntityFilter] - 0:0:0:0:0:0:0:1%0 2EEB4CA1969DFE131665F266C69119D1 Filtering query SELECT c FROM ClientTradeImportTransactionMap c WHERE c.clientTradeImport.id = 8 ORDER BY name
    2011-06-16 16:10:37,618 INFO [net.sf.jpasecurity.security.EntityFilter] - 0:0:0:0:0:0:0:1%0 2EEB4CA1969DFE131665F266C69119D1 No access rules defined for selected type. Returning unfiltered query
    2011-06-16 16:10:37,626 DEBUG [net.sf.jpasecurity.security.EntityFilter] - 0:0:0:0:0:0:0:1%0 2EEB4CA1969DFE131665F266C69119D1 Filtering query SELECT c FROM ClientTradeImportFundStructureMap c WHERE c.clientTradeImport.id = 8 ORDER BY name
    2011-06-16 16:10:37,626 INFO [net.sf.jpasecurity.security.EntityFilter] - 0:0:0:0:0:0:0:1%0 2EEB4CA1969DFE131665F266C69119D1 No access rules defined for selected type. Returning unfiltered query
    2011-06-16 16:10:37,901 ERROR [org.hibernate.LazyInitializationException] -   could not initialize proxy - no Session
    org.hibernate.LazyInitializationException: could not initialize proxy - no Session
        at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:167)
        at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
        at net.sf.jpasecurity.persistence.JpaEntityWrapper$HibernateObjectWrapper.unwrap(JpaEntityWrapper.java:62)
        at net.sf.jpasecurity.persistence.JpaEntityWrapper.unwrap(JpaEntityWrapper.java:45)
        at net.sf.jpasecurity.entity.SecureEntityDecorator.refresh(SecureEntityDecorator.java:100)
        at net.sf.jpasecurity.entity.SecureEntityDecorator.refresh(SecureEntityDecorator.java:90)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at net.sf.jpasecurity.proxy.CgLibSecureEntityProxyFactory$CgLibSecureEntityMethod.invoke(CgLibSecureEntityProxyFactory.java:134)
        at net.sf.jpasecurity.entity.SecureEntityInterceptor.intercept(SecureEntityInterceptor.java:70)
        at net.sf.jpasecurity.proxy.CgLibSecureEntityProxyFactory$CgLibMethodInterceptor.intercept(CgLibSecureEntityProxyFactory.java:102)
        at com.nu.model.Client$$EnhancerByCGLIB$$35369632.refresh(<generated>)
        at net.sf.jpasecurity.entity.SecureEntityInterceptor.intercept(SecureEntityInterceptor.java:68)
        at net.sf.jpasecurity.proxy.CgLibSecureEntityProxyFactory$CgLibMethodInterceptor.intercept(CgLibSecureEntityProxyFactory.java:102)
        at com.nu.model.Client$$EnhancerByCGLIB$$35369632.finalize(<generated>)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
    2011-06-16 16:10:37,903 ERROR [org.hibernate.LazyInitializationException] -   could not initialize proxy - no Session
    org.hibernate.LazyInitializationException: could not initialize proxy - no Session
        at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:167)
        at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:215)
        at net.sf.jpasecurity.persistence.JpaEntityWrapper$HibernateObjectWrapper.unwrap(JpaEntityWrapper.java:62)
        at net.sf.jpasecurity.persistence.JpaEntityWrapper.unwrap(JpaEntityWrapper.java:45)
        at net.sf.jpasecurity.entity.SecureEntityDecorator.refresh(SecureEntityDecorator.java:100)
        at net.sf.jpasecurity.entity.SecureEntityDecorator.refresh(SecureEntityDecorator.java:90)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at net.sf.jpasecurity.proxy.CgLibSecureEntityProxyFactory$CgLibSecureEntityMethod.invoke(CgLibSecureEntityProxyFactory.java:134)
        at net.sf.jpasecurity.entity.SecureEntityInterceptor.intercept(SecureEntityInterceptor.java:70)
        at net.sf.jpasecurity.proxy.CgLibSecureEntityProxyFactory$CgLibMethodInterceptor.intercept(CgLibSecureEntityProxyFactory.java:102)
        at com.nu.model.tradeimport.TradeImport$$EnhancerByCGLIB$$a667862f.refresh(<generated>)
        at net.sf.jpasecurity.entity.SecureEntityInterceptor.intercept(SecureEntityInterceptor.java:68)
        at net.sf.jpasecurity.proxy.CgLibSecureEntityProxyFactory$CgLibMethodInterceptor.intercept(CgLibSecureEntityProxyFactory.java:102)
        at com.nu.model.tradeimport.TradeImport$$EnhancerByCGLIB$$a667862f.finalize(<generated>)
        at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
        at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
        at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
    
     
  • Arne Limburg

    Arne Limburg - 2011-06-23

    Maybe this is not a bug: I guess, an entity that is not loaded, is needed to evaluate one of your security rules and the entity-manager is closed. So you get the exception. Can we verify this somehow?

     
  • Anonymous

    Anonymous - 2011-11-29

    You'll want to do a OpenEntityManagerInViewFilter (Spring's version) or similar that keeps the session open for longer than just a transaction.

     

Log in to post a comment.