我怎么能得到一个懒惰的对象?
例如,我有一个"客户"表和"请求"表,然后我使用hibernate和JPA构建一个项目.
在客户表中有一个像这样的代码
@OneToMany(cascade = CascadeType.ALL, fetch =FetchType.LAZY , mappedBy = "customer")
public Set<Request> getRequests() {
return this.requests;
}
Run Code Online (Sandbox Code Playgroud)
所以,如果从客户对象调用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>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8376 次 |
最近记录: |