此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【rolita】截止到2008-07-16 14:21:52的历史汇总数据(不包括此帖):
发帖的总数量:13                       发帖的总分数:740                      每贴平均分数:56                       
回帖的总数量:20                       得分贴总数量:2                        回帖的得分率:10%                      
结贴的总数量:11                       结贴的总分数:590                      
无满意结贴数:1                        无满意结贴分:20                       
未结的帖子数:2                        未结的总分数:150                      
结贴的百分比:84.62 %               结分的百分比:79.73 %                  
无满意结贴率:9.09  %               无满意结分率:3.39  %                  
楼主加油

解决方案 »

  1.   

    可能说的不是很清楚,举个例子,在两张表(customer  order )customer的one to many的关系中我设置lazy=false ,那么我在我一次查询的时候,得到的结果中,会在customer对象中有一个set引用包含了order对象,那么在我session close的时候,session中不会存在customer了,order对象也不会存在了,是不是这样子?还是只是session不在关联了,而customer 以及相关联的order对象还是存放在sessionfactory中列?
      

  2.   

    可能说的不是很清楚,举个例子,在两张表(customer  order )customer的one to many的关系中我设置lazy=false ,那么我在我一次查询的时候,得到的结果中,会在customer对象中有一个set引用包含了order对象,那么在我session close的时候,session中不会存在customer了,order对象也不会存在了,是不是这样子?还是只是session不在关联了,而customer 以及相关联的order对象还是存放在sessionfactory中列?
      

  3.   

    如果session关闭之后,再从游离的对象里的set集合里取值,就会报错的.
    所以,应该在session关闭之前就要取出需要的对象.(lazy=true).
    如果lazy=false ,那么一次查询就会取出所有关联的对象.
      

  4.   

    我想问的是session和sessionfactory的关系 
      

  5.   

    session中的数据没了关闭了,但是sessionFactory里面的还在,你可以用iterator 去拿的
      

  6.   

    一个是一级缓存,一个是二级缓存,,查询一个对象的时候(假如配置好了二级缓存)先从session中获取,如果没有在从
    SessionFactory中获取。
    其中session的生命周期是比较短暂的(而真正用到缓存提高性能的都是使用,SessionFactory)。
    你问的那个问题,如果Session关闭了,那么里面的对象状态就发生了变化,当使用时候就会出错。而你的SessionFactory是仍然存在的。
    我解释不太好,看看是不是你想要的
      

  7.   

    一级缓存是session级别的,session关闭了就没有一级缓存了SessionFactory二级缓存,可以通过配置ehcache
      

  8.   

    sessionFactory,消耗大,只生成一次
    session开启,用完就关闭
      

  9.   

    session被close后,引用断开了,等着垃圾回收器来回收这个资源,里面的东西自然是没法取得了。
      

  10.   


    session range一级 session二级 sessionFactory
      

  11.   

       额是刚学的漏斗!   
    sessionFactory是重量级的消耗大包含(*.hbm.xml)等配置信息它是管理Session的,由Session读取(*.hbm.xml)并进行持久化操作!
          对象NEW出来临时状态没有主键不会生成(*.hbm.xml)文件,且不合Session关联!
          持久状态会与Session关联并且生成(*.hbm.xml)文件且保存到数据库中。
          当做完持久化操作后Session关闭处于游离状态主键会根据(*.hbm.xml)文件生成相应的值!