可能和session有关,你重开浏览器再次登陆应该就会数据库当前记录一致了!

解决方案 »

  1.   

    //查看编号为postId的岗位所对应的所有角色
    public List checkItsRoles(Long postId, Long roleState){
    postInfoDAO = new PostInfoDAO();
    post = postInfoDAO.findById(postId);
    Set postRoles = post.getPostRoleses();
    System.out.println(postRoles.size());
    Iterator iterator = postRoles.iterator();
    List rList = new ArrayList();
    while(iterator.hasNext()){
    roles = (Roles)iterator.next();
    //如果角色状态为未删除
    if(roles.getRoleState().equals(roleState)){
    roleVO = new RoleVO();
    roleVO.setRoleId(roles.getRoleId());
    roleVO.setRoleName(roles.getRoleName());
    roleVO.setRoleDescription(roles.getRoleDescription());
    rList.add(roleVO);
    }
    }
    System.out.println(rList.size());
    return rList;
    }
      

  2.   

    您能说啥时候能查出来啥时候查不出来吗?
    ps:这就牛啊.....基本都是IDE生成的代码啊。
      

  3.   

    不太可能是虚读,你的插入代码加事务就成
    我好像遇到过一次,tomcat热部署
    重启tomcat就好了
      

  4.   

    session有关...
    重启就OK了
      

  5.   

    保存对象的时候使用saveOrUpdate(),不要只是使用save()。在加载对象的时候使用get(),当然,最好的还是使用左右连接可以直接取到你需要的集合。如果你使用了延迟加载就应该使用左右连接的方法去拿你的级联对象,否则有可能你的ID可能没有办法内存中根据对象拿到对应的级联对象.
      

  6.   

    幻象读,出现并发事务造成的,可以考虑使用更严格的并发策略<property name="hibernate.connection.isolation">4</property>