iteye_8573 2009-11-24 10:07
浏览 237
已采纳

关于hibernate抓取策略batch-size的疑问?

批量预抓取是不是只针对many-to-one那端才有效?
比如author与article,是-对多的关系,
是不是在article中的....
才有效?
还有它的应用场合在哪?就是在循环取文章的时候取作者?

[b]问题补充:[/b]
先谢了,蔡华江
我试过在set中使用batch-size,没有发挥作用!
还有你给出的例子当中,取出List students和获取每个students的class需要在同一个session上下文中才有效,这样会不会降低它使用的机会啊?[color=red]实际项目[/color]中像实现你这个例子的功能是用batch-szie多些还是用fetch="join"多些呢?或者其他方法?

  • 写回答

2条回答 默认 最新

  • CaiHuajiang 2009-11-24 10:15
    关注

    四.hibernate 批量策略batch-size属性,可以批量加载实体类,

    参见Classes.hbm.xml,同时集合也可以是使用,如:

    在配置文件hbm.xml 设置中:

    List students = session.createQuery(“select s from Student s where s.id in(:ids)”).setParameterList(“:ids”,new Object[]{1,11,21,31,41,51,61,71,81,91}).list();

    for(Iterator iter=students.iterator();iter.hasNext();){

       Student student = (Sutdent)iter.next();
    
       System.out.println(student.getName());
    
       System.out.println(student.getClassess().getName());
    

    }

    当第二个for循环时,每次加载 之前设置的 数量 实体对象, 如:现在设置3,那么当Iterator iter=students.iterator();iter.hasNext();时候,他会查询出3个student对象

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题