Đây là một trong đó có tôi bối rối. Tôi đang cố gắng để thực hiện một cấu trúc DAO Hibernate cơ bản, nhưng có một vấn đề.hibernate: LazyInitializationException: không thể khởi tạo proxy
Dưới đây là đoạn code cần thiết:
int startingCount = sfdao.count();
sfdao.create(sf);
SecurityFiling sf2 = sfdao.read(sf.getId());
sfdao.delete(sf);
int endingCount = sfdao.count();
assertTrue(startingCount == endingCount);
assertTrue(sf.getId().longValue() == sf2.getId().longValue());
assertTrue(sf.getSfSubmissionType().equals(sf2.getSfSubmissionType()));
assertTrue(sf.getSfTransactionNumber().equals(sf2.getSfTransactionNumber()));
Nó thất bại trên assertTrue thứ ba mà nó đang cố gắng để so sánh một giá trị trong sf với giá trị tương ứng trong SF2. Dưới đây là ngoại lệ:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:86)
at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:140)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
at com.freightgate.domain.SecurityFiling_$$_javassist_7.getSfSubmissionType(SecurityFiling_$$_javassist_7.java)
at com.freightgate.dao.SecurityFilingTest.test(SecurityFilingTest.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:40)
Đã cùng một vấn đề và lười biếng = false cố định nó . Cảm ơn – autonomatt
bây giờ trong trường hợp của tôi đang sử dụng 'lazy = false' cho tất cả các cấp độ dao nhưng nó chỉ ra rằng hiệu suất ứng dụng chậm vì nó, cố gắng đặt' lazy = true' nhưng bây giờ lazyException được ném, bất kỳ đề xuất như thế nào có thể được đã sửa. – Rachel
pakore, bạn có thể chỉ ra lý do tại sao không phải là giải pháp và làm thế nào để hiểu nó? – Victor