我有一个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
是的,有人可以帮助我吗?我希望可租借的房间很懒散!
谢谢!
答案 0 :(得分:3)
当您在调试器中检查集合时,您的ORM框架(Hibernate)被迫从数据库中懒惰地加载它。
您需要打开SQL logging并且您会看到只有在调试器中检查它或者在getRentables()
实例上调用Rent
时才会加载您的Rentables。