LazyInitialization

クラスのマッピング属性lazyをtrueにしてたら意図しない振る舞いをした。

07:56:54,281 http-8080-Processor25 ERROR [net.sf.hibernate.proxy.LazyInitializer.initializeWrapExceptions] Exception initializing proxy
net.sf.hibernate.HibernateException: Could not initialize proxy - the owning Session was closed
        at net.sf.hibernate.proxy.LazyInitializer.initialize(LazyInitializer.java:47)
        at net.sf.hibernate.proxy.LazyInitializer.initializeWrapExceptions(LazyInitializer.java:60)
        at net.sf.hibernate.proxy.LazyInitializer.getImplementation(LazyInitializer.java:164)
        at net.sf.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:108)

ちゃんとセッションは閉じてるはずなんだけど。lazy=falseにしたら問題なし。なぜ?


答。僕がアホだから。ちゃんと後始末しているはずのオブジェクトが残ってただけ。