首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate with struts2-jquery-grid。如果关闭会话,则网格不会加载数据

Hibernate with struts2-jquery-grid。如果关闭会话,则网格不会加载数据
EN

Stack Overflow用户
提问于 2012-02-16 19:45:14
回答 1查看 568关注 0票数 0

我正在开发一个使用struts2-jquery-grid和hibernate的web应用程序。当我不关闭会话,但是如果我关闭了,网格就不会加载数据库中的数据。

以下代码不起作用:

代码语言:javascript
复制
public List<Concurso> find(int o, int q){
    List<Concurso> concursoLst = null;
    sessao.beginTransaction();
    concursoLst = (ArrayList<Concurso>) sessao.createQuery("from Concurso order by nome").list();
    sessao.getTransaction().commit();
    sessao.close();
    return concursoLst;

但另一方面,如果我注释sessao.close(),它就能完美地工作:

代码语言:javascript
复制
public List<Concurso> find(int o, int q){
    List<Concurso> concursoLst = null;
    sessao.beginTransaction();
    concursoLst = (ArrayList<Concurso>) sessao.createQuery("from Concurso order by nome").list();
    sessao.getTransaction().commit();
    //sessao.close();
    return concursoLst;

因此,execute()调用此方法:

代码语言:javascript
复制
    public String execute(){ 

    //code

    ConcursoDAO dao = new ConcursoDAO();
    gridModel = dao.find(from, to);

    //code
    }

谁能帮帮我?谢谢!!

EN

回答 1

Stack Overflow用户

发布于 2012-02-16 19:53:06

会不会是您的Concurso对象有一个延迟加载的对象列表,并且因为您已经关闭了会话,所以这些对象不会加载。

您需要向我们提供更多信息,但目前,请尝试设置

代码语言:javascript
复制
@OneToMany(fetch = FetchType.EAGER)

Concurso中的集合上,并阅读Open session in view模式,尽管有些人可能会将其称为反模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9310712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档