|
Hibernate version: 3.3.1
Java version: jre 1.6_0_11
Database: PostgreSQL 8.1
I have a production Swing app with 20 users. I use a "main" session that remains open for the life of the app. I manage the session by clearing it at the appropriate times. Intermittently, a "LazyInitializationException - cannot initialize proxy - No session" will be thrown when hibernate attempts to initialize a proxy. However, the session is open and the entity was never removed. By going to another view and returning ( which effectively clears the session and reloads the entity without closing the app ), I can accomplish the same task that caused the exception. Frustratingly, the exception is apparently random, fairly frequent, and cannot be reproduced at will. An example stack trace:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session:
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:86)
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140)
org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
com.moms.models.HypersensitivityType_$$_javassist_20.toString(HypersensitivityType_$$_javassist_20.java)
javax.swing.table.DefaultTableCellRenderer.setValue(Unknown Source)
javax.swing.table.DefaultTableCellRenderer.getTableCellRendererComponent(Unknown Source)
javax.swing.JTable.prepareRenderer(Unknown Source)
javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
javax.swing.plaf.ComponentUI.update(Unknown Source)
javax.swing.JComponent.paintComponent(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JViewport.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JLayeredPane.paint(Unknown Source)
javax.swing.JComponent.paintChildren(Unknown Source)
javax.swing.JComponent.paint(Unknown Source)
javax.swing.JComponent.paintToOffscreen(Unknown Source)
javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
javax.swing.RepaintManager.paint(Unknown Source)
javax.swing.JComponent._paintImmediately(Unknown Source)
javax.swing.JComponent.paintImmediately(Unknown Source)
javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
java.awt.event.InvocationEvent.dispatch(Unknown Source)
java.awt.EventQueue.dispatchEvent(Unknown Source)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
This issue was also present with Hibernate 3.2. Any help would be appreciated.
_________________ David J Rericha
|