@BatchSize,但在获取@ManyToOne关联时进行许多往返

@BatchSize,但在获取@ManyToOne关联时进行许多往返,第1张

@BatchSize,但在获取@ManyToOne关联时进行许多往返

@BatchSize
两个有道理

  • One-To-Many
  • Many-to-One
    以及

以防万一

Many-To-One
,我们必须在
@Entity
级别上应用它(在我们的
Activite
映射中)

@Entity@BatchSize(size=25)@Table(name = "activite" ...public class Activite implements java.io.Serializable {...

在doc中检查它 下面附加小引用)

[20.1.5。使用批量提取](http://docs.jboss.org/hibernate/orm/4.3/manual/en-

US/html_single/#performance-fetching-batch)

批量获取类/实体更容易理解。考虑以下示例:在运行时,您在一个Session中加载了25个Cat实例,每个实例

Cat
都引用了其所有者Person。在
Person
类的映射使用了代理服务器,为lazy
=“真”。如果您现在遍历所有的猫并调用
getOwner()
它们,默认情况下,Hibernate将执行25条SELECT语句以检索代理的所有者。您可以通过在Person映射中指定一个批处理大小来调整此行为:

<class name="Person" batch-size="10">...</class>



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5132831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存