1.如果我设置了hibernate的一对多,多对多等关联,在查询的时候hibernate会不会将大量的数据甚至整个数据库的数据查出来?2.据说hibernate可以搞定问题1,并且需要在filter(过滤器)中写事务管理语句,请问如何写?3.hibernate的flush用法。

解决方案 »

  1.   

    1.配置的时候,lazy="true",只检索出关联对象的id(即getid()),不会检索出大量数据。
    3.flush一般在一个事务中,批量更新数据库时才用到,比如:
    begin transation...for(int i=0;i<list.size();i++){
    ....
    ....}
    end transation
      

  2.   

    begin   transation...for(int   i=0;i <list.size();i++){
    ....
    ....
    if(i%50==0)
    session.flush();  //每更新50次,则刷新一下,这样的话,如果这个事务出现异常,在此前的更新操作依然有效}
    end   transation
      

  3.   

    hibernate 超级慢 
    大中型项目坚决不用