Hibernate同一个session中刷新对象和数据库里同步

    //场景:使用了延迟加载,
    //所以使用了org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    //现在又一个request得到后台A有一个children属性,现在给A对象的children中添加一个child,调用的是action中的save方法(save中保存child).
    //当添加完成以后,在action中resultType为chain,跳转到list方法,list方法又查询了A对象的信息。这个时候如果不this.getSession().refresh(obj);
    //则查询不到A对象中包含child的信息.
    public Object getById() {
        Object obj =  this.getSession().get(Object.class, id);
        this.getSession().flush();// 先把数据更新到数据库
        this.getSession().refresh(obj);//把把对象更新为和数据库一致
        return obj;
    }

 

posted on 2013-03-12 10:50  cfd406635982  阅读(3162)  评论(0编辑  收藏  举报