2010-03-18 66 views
7

查看頁面無法初始化代理 - 沒有會話再次

 
ERROR [TP-Processor11] (LazyInitializationException.java:42) - could not initialize proxy - no Session 
org.hibernate.LazyInitializationException: could not initialize proxy - no Session 
    at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:132) 
    at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:174) 
    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190) 
    at org.osmoz.contents.model.enm.ContentType_$$_javassist_71.getDefaultShortMode(ContentType_$$_javassist_71.java) 
    at org.osmoz.contents.web.tapestry.components.EnmContentZone.getTemplate(EnmContentZone.java:67) 
    at org.osmoz.contents.web.tapestry.base.AbstractRawContentZone.getContent(AbstractRawContentZone.java:67) 
    at $PropertyConduit_1276091af82.get($PropertyConduit_1276091af82.java) 
    at org.apache.tapestry5.internal.bindings.PropBinding.get(PropBinding.java:58) 
    at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.read(InternalComponentResourcesImpl.java:510) 
    at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl$1.read(InternalComponentResourcesImpl.java:496) 
    at org.apache.tapestry5.corelib.components.OutputRaw._$read_parameter_value(OutputRaw.java) 
    at org.apache.tapestry5.corelib.components.OutputRaw.beginRender(OutputRaw.java:43) 
    at org.apache.tapestry5.corelib.components.OutputRaw.beginRender(OutputRaw.java) 
    at 

,當我得到這些錯誤日誌我知道問題出在會話已經關閉。但我真的不知道爲什麼這個錯誤發生得不是那麼頻繁,爲什麼我不知道根本原因。

環境:

Tapestry5,JPA,休眠3.3.2.GA

我在web.xml中 設置

<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class> 

+0

給出web.xml的所有相關部分,不僅僅是這一行。 – Bozho 2010-03-18 13:43:46

+0

這種情況非常簡單。我們想獲得一個「懶惰」的領域,並將其顯示在視圖中。在這種情況下,我們有對象ContentType和字段「defaultShortMode」。由於我們在視圖中調用lazy,所以我們使用OpenEntityManagerInViewFilter打開另一個會話。 主要問題是:有時會發生此錯誤。有時它運行平穩。我猜想其他因素,如Tapestry線程?,使用事務?使用Hibernate Level 2 Cache? 這將有助於某人指出可能是錯誤的地方。謝謝。 – Iapilgrim 2010-03-19 02:38:25

+0

你有沒有看到這個 - http://stackoverflow.com/questions/345705/hibernate-lazyinitializationexception-could-not-initialize-proxy – Padmarag 2010-03-18 12:19:02

回答

5

使用@Transactional上一種用@Service(Spring服務)註解層的方法。

+7

它不是'@ Transaction',它是'@ Transactional'('org.springframework.transaction.annotation.Transactional') – Abdull 2013-02-16 14:35:55

+0

@Abudull我正在使用'org.springframework.transaction.annotation.Transactional'但仍然出錯。這裏是我的問題http://stackoverflow.com/questions/27900865/spring-data-org-hibernate-lazyinitializationexception-could-not-initialize-pro – 2015-01-12 14:12:04

相關問題