`
wiley
  • 浏览: 252056 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[求教]关于DWR+Spring延迟加载的问题

阅读更多
百事通信息网

今天用DWR+Spring做整合时,发现不能通过DWR实现延迟加载,仅管在session关闭前已经做过初始化Hibernate.initialize(article.getUser());,不过还是会报session已被关闭.这个问题怎么解决呢

测试了一下
将要延迟的对象在dwr.xml中配转换
将PO中数据取出来放到集合,将集合返回给客户端,这样就不会出错 
分享到:
评论
12 楼 wangying1983 2007-08-11  
请问在DWR中怎么取得JAVA方法的返回值呢
我有一个方法是
boolean b = userDao.addUser(int userid);
在DWR中取得的返回值是undefinded的,麻烦帮助!
11 楼 wangying1983 2007-08-11  
怎么取得JAVA方法在DWR中的返回值的,我的一个方法是:
boolean b = userDao.addUser(int userid);
在DWR中
取得的返回值是undefinded的,帮忙!
10 楼 laowang 2007-07-16  
试过 BeanConverter么?
http://getahead.org/dwr/server/hibernate
看对你有没有帮助
9 楼 Norther 2007-06-30  
用HIBERNATE的转换器 未初始化的对象不会被翻译成JSON 爽的很。。 需要初始化的对象可在返回之前从SESSION脱钩。。
8 楼 xianglg 2007-06-28  
等待解决问题
7 楼 nbaertuo 2007-06-28  
    <filter>
        <filter-name>hibernateFilter</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
        <init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
    </filter>


     <filter-mapping>
        <filter-name>hibernateFilter</filter-name>
        <url-pattern>/dwr/*</url-pattern>      
    </filter-mapping>
6 楼 java虫 2006-11-10  
public class DTO{
A a;
B b;
....
}
5 楼 wiley 2006-11-09  
我现在的一个解决办法:
1、在DWR.xml配置转换POJO时指定他的属性(不指定关联的属性);
2、在处理对象的方法中,如果查询的对象是多表关联的,那么不直接返回该POJO,而是处理后,用MAP返回。
如:
function Map getA(String a){
    A a=this.AService.getAById(id);
   B b=a.getB();
   HashMap<String, Serializable> hm=new HashMap<String, Serializable>();
   hm.put("a",a);
   hm.put("b",b);
   return hm;
}

这样二个问题都解决了,我想应该有比这个更好的方法,希望大家也谈谈自已的做法,相互学习一下
4 楼 cryolite 2006-11-09  
wiley 写道
还有一个问题是
举例说明:
如果表A跟表B是1:n关系,表B跟表C也是1:n的关系,我将A的PO转给客户端,用DWR调试,发现不但会加载B还会加载C


你的dwr.xml配置文件怎么写的
3 楼 wiley 2006-11-09  
还有一个问题是
举例说明:
如果表A跟表B是1:n关系,表B跟表C也是1:n的关系,我将A的PO转给客户端,用DWR调试,发现不但会加载B还会加载C
2 楼 wiley 2006-11-09  
说到了问题的关键,那怎么样解决呢?
1 楼 Allen 2006-11-09  
个人见解:

对于你需要的实体,DWR所作的操作是在页面进行的,也就是说很有可能这些动作已经不再是session-per-request的能力范围了。所以,此时对数据的延迟加载(lazy associations)操作你就有可能会得到Session已经关闭的提示。

相关推荐

Global site tag (gtag.js) - Google Analytics