Я хотел бы загрузить House
объект из базы данных, как это:Загрузка многие к одному классу - Hibernate
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;
}
Любая помощь будет Оцените :)
Я пытался добавить EAGER принести как это: @ManyToOne (скачивает = FetchType.EAGER) \t @JoinColumn (имя = "TYPE_ID") \t общественного типа GetType() { \t \t тип возвращаемого значения; \t} Но это не сработало. –
Не могли бы вы разместить свои родственные классы моделей? –
Btw, возможно ли, что вы перепутали доступ к собственности/поле? Вы когда-нибудь пытались аннотировать поле вместо геттера? http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#entity-mapping-entity –