2010-03-18 100 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

相关问题