gpt4 book ai didi

hibernate - 在 hibernate 模式下使用抓取模式

转载 作者:行者123 更新时间:2023-12-04 13:34:07 24 4
gpt4 key购买 nike

假设我们在客户和电话之间存在一对多的关系。

class Customer{

@OneToMany(cascade = {CascadeType.ALL},mappedBy = "customer", fetch = FetchType.LAZY)
@Fetch( FetchMode.SELECT)
private List<Phone> phoneList;

}

在上面的代码中,有什么区别
fetch = FetchType.LAZY和FetchMode.SELECT。

我读到它们都是相同的,即它们都懒加载了底层集合。

谁能解释我何时使用哪个?

最佳答案

提取类型(延迟/渴望)是指Hibernate何时获取关联,是提前获取实体(渴望​​)还是是否等待代码请求关联(延迟)。

提取模式(选择/连接)是指Hibernate如何获取关联,即它使用额外的SELECT语句还是使用连接。

这些的一些组合是没有意义的,例如懒惰+加入。如果您使用延迟读取,则SELECT读取模式是唯一可以执行的模式。

如果您使用紧急获取,则可以选择使用任一获取模式。

关于hibernate - 在 hibernate 模式下使用抓取模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8953912/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com