在Hibernate 3中处理DWR 2.0和延迟加载的最佳方法是什么,即使我在Pojo中使用转换类型=“hibernate3”而不是类型=“bean”并使用LaT加载ManyToOne映射字段。
DWR service configration
-------------------------
<dwr:remote javascript="operationService">
<dwr:convert type="hibernate3" class="com.model.Enquiry">
or
<dwr:convert type="bean" class="com.model.Enquiry">
</dwr:convert>
in POJO
----------
@ManyToOne(fetch=FetchType.LAZY, targetEntity = Port.class)
@JoinColumn(name="LD_PORT")
public Port getLoadPort() {
return loadPort;
}
DAO Layer
List<Enquiry> enqList =
getHibernateTemplate().getSessionFactory().getCurrentSession().createCriteria(Enquiry.class)
.list();
在获取查询对象列表时,它在访问JavaScript时返回null到loadPort的值。这是DAO层会话的问题还是其他什么问题?
任何机构都可以让我知道如何处理DWR和Hibernate中的延迟加载的最佳实践?我将感谢您的投入。
答案 0 :(得分:0)
将assumeSession
参数添加到转换器中:
<dwr:convert type="hibernate3" class="com.model.Enquiry">
....
<param name="assumeSession" value="true"/>
....
</dwr:>
根据你如何设置休眠,你可能还需要这个:
<allow>
....
<filter class=" org.directwebremoting.hibernate.H3SessionAjaxFilter"/>
....
</allow>
解释here