2010-03-18 29 views
7

tôi nhận được những bản ghi lỗi khi đang xem một trangKhông thể khởi tạo proxy - Không phiên nữa

 
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 

tôi biết vấn đề là phiên đã được đóng lại. Nhưng tôi thực sự không biết tại sao lỗi này xảy ra không thường xuyên như vậy mà tại sao tôi không biết nguyên nhân gốc rễ là.

Môi trường:

Tapestry5, JPA, Hibernate 3.3.2.GA

tôi đã thiết

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

trong web.xml cũng

+0

cung cấp tất cả các phần liên quan của web.xml, không chỉ dòng này. – Bozho

+0

Trường hợp này rất đơn giản. Chúng tôi muốn có một trường "lười" và hiển thị nó trong chế độ xem. Trong trường hợp này, chúng ta có đối tượng ContentType và trường "defaultShortMode". Vì chúng ta gọi là lazy trong view, chúng ta mở một session khác bằng cách sử dụng OpenEntityManagerInViewFilter. Vấn đề chính là: Lỗi này thỉnh thoảng xảy ra. Đôi khi nó chạy trơn tru. Tôi đoán các yếu tố khác có liên quan như chủ đề Tapestry ?, sử dụng giao dịch? sử dụng Cache Hibernate Level 2? Nó sẽ giúp ai đó chỉ ra những gì có thể sai ở đây. Cảm ơn. – Iapilgrim

+0

Bạn có thấy điều này không - http://stackoverflow.com/questions/345705/hibernate-lazyinitializationexception-could-not-initialize-proxy – Padmarag

Trả lời

5

Sử dụng @Transactional trên một phương thức trong lớp được chú thích với @Service (Dịch vụ mùa xuân).

+7

nó không phải là '@ Giao dịch', đó là' @ Transactional' ('org.springframework.transaction.annotation.Transactional') – Abdull

+0

@Abdull tôi đang sử dụng' org.springframework.transaction.annotation.Transactional' nhưng vẫn gặp lỗi . đây là câu hỏi của tôi http://stackoverflow.com/questions/27900865/spring-data-org-hibernate-lazyinitializationexception-could-not-initialize-pro –

Các vấn đề liên quan