[英]How lazy loading works for collection of objects?
我有一對多關聯,而FetchType是 LAZY。
我知道休眠會為延遲加載的實體創建代理對象。 但是如果子實體是 Collection 類型它是如何工作的? 它會為每個集合對象創建代理嗎?
例子:-
public class Company {
private String name;
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY)
private Set<Employee> employees;
}
代理是為字段創建的,這意味着employees
將成為集合的代理。 現在,如果您嘗試遍歷集合的元素,則基本上有兩種可能性:
LazyInitializationException
。 這很好,因為您知道,您必須急切地獲取它們就是這個查詢。N
孩子,則需要對數據庫進行N+1
調用,這也稱為N+1 選擇問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.