gpt4 book ai didi

java - JPA:OneToMany 关系始终加载(不考虑 LAZY)

转载 作者:行者123 更新时间:2023-12-01 17:52:32 26 4
gpt4 key购买 nike

我有一个 JPA 实体 Rent,它与租用的项目(称为“可出租”)具有 1:M 关系。我希望这个可出租资源能够延迟加载,但它们似乎总是被加载,即使我使用 fetch = FetchType.LAZY 时也是如此。这是我的代码:

@Entity
@Table (name = "rent")
public class Rent implements Serializable{

........

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinTable(name = "rent_rentable")
private List <Rentable> rentables = new ArrayList <Rentable> ();

以下是我如何加载租金:

 from Rent r  where r.kunde.id = 83

但我也得到了相关的可出租房屋。 Rent with its rentables loaded

有人可以帮我吗?我希望可出租的资源可以延迟加载!

谢谢!

最佳答案

当您在调试器中检查集合时,您的 ORM 框架(Hibernate)被迫从数据库延迟加载它。

您需要开启SQL logging您将看到,仅当您在调试器中检查或在 Rent 实例上调用 getRentables() 时,才会加载您的 Rentables。

关于java - JPA:OneToMany 关系始终加载(不考虑 LAZY),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48436516/

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