как мне получить ленивый объект?
например,
У меня есть таблица "customer" и таблица "request", а затем я создаю проект, используя hibernate и JPA.
в таблице клиентов есть такой код
@OneToMany(cascade = CascadeType.ALL, fetch =FetchType.LAZY , mappedBy = "customer")
public Set<Request> getRequests() {
return this.requests;
}
Итак, если из объекта customer вызвать метод getRequests()
, он вернет пустой объект, потому что он ленивый.
Как мне получить полный ленивый объект без использования EAGER
аннотации?
Я видел, что мои проблемы зависят от сеанса, потому что он близок. Итак, на стороне сервера мне нужно держать открытую сессию JPA.
Как я могу это сделать?
это часть моего applicationContext.xml, но она не работает:
<bean class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean" id="entityManagerFactory">
<property name="persistenceUnitName" value="gestazPU"/>
</bean>
<bean class="org.springframework.orm.jpa.JpaTransactionManager" id="transactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<bean id="ebOpenEMinView" class="org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
<tx:annotation-driven proxy-target-class="true" transaction-manager="transactionManager"/>
<bean id="TipoTicketDAO" class="it.stasbranger.gestaz.server.dao.impl.TipoTicketDAOImpl">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>