2010-03-18 31 views
7

je reçois ce journal d'erreur lors de l'affichage d'une pageImpossible d'initialiser le proxy - session Pas encore

 
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 

Je sais que le problème est session a été fermée. Mais je ne sais vraiment pas pourquoi cette erreur se produit pas si souvent que pourquoi je ne connais pas la cause première.

Enviroment:

Tapestry5, JPA, Hibernate 3.3.2.GA

J'ai mis

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

dans web.xml aussi

+0

donnent toutes les parties pertinentes de web.xml, non seulement cette ligne. – Bozho

+0

L'affaire est si simple. Nous voulons obtenir un champ "paresseux" et l'afficher en vue. Dans ce cas, nous avons l'objet ContentType et le champ "defaultShortMode". Puisque nous appelons paresseux dans la vue, nous ouvrons une autre session en utilisant OpenEntityManagerInViewFilter. Le problème principal est: Ce bug se produit parfois. Parfois, il fonctionne bien. Je suppose que d'autres facteurs impliqués tels que le fil Tapestry?, En utilisant la transaction? en utilisant le cache Hibernate Level 2? Cela aiderait quelqu'un à signaler ce qui pourrait être mauvais ici. Merci. – Iapilgrim

+0

Avez-vous vu cela - http://stackoverflow.com/questions/345705/hibernate-lazyinitializationexception-could-not-initialize-proxy – Padmarag

Répondre

5

Utilisation @Transactional sur une méthode dans la couche annotée avec @Service (service de printemps).

+7

ce n'est pas '@ Transaction', c'est' @ Transactional' ('org.springframework.transaction.annotation.Transactional') – Abdull

+0

@Abdull J'utilise' org.springframework.transaction.annotation.Transactional' mais je reçois toujours une erreur . voici ma question http://stackoverflow.com/questions/27900865/spring-data-org-hibernate-lazyinitializationexception-could-not-initialize-pro –