내가 좋아하는 것은 다음과 같이 데이터베이스에서 House
객체를로드 :로드 대일 클래스 최대 절전 모드
House temp = DataBaseConnector.getInstance().findHouseByID(id);
System.out.println(temp.getType().getName());
을하지만 언제 내가 액세스하려고 getType()
필드 내가 얻을 오류 :
Exception in thread "AWT-EventQueue-0" org.hibernate.LazyInitializationException: could not initialize proxy - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:165) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:286) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185) at mapping.Type_$$_jvstd13_0.getName(Type_$$_jvstd13_0.java) ..
findHouseById
기능은 다음과 같습니다
public static House findHouseByID(Integer id) {
Session session = getSessionFactory().openSession();
House e = (House) session.load(House.class, id);
session.close();
return e;
}
어떤 도움 것 감사합니다 :)
나는 열망이 같은 가져 오기 추가 시도했다 : \t @JoinColumn (이름 = "TYPE_ID") \t 공공 형 getType로() { \t \t 반환 유형을 (FetchType.EAGER을 = 가져 오기) @ManyToOne; \t}하지만 작동하지 않았습니다. –
관련 모델 수업을 게시 해주십시오. –
Btw, 속성/필드 액세스가 섞여있을 가능성이 있습니까? getter 대신 필드에 주석을 추가하려고 시도한 적이 있습니까? http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping-entity –