簡體   English   中英

休眠中的懶惰獲取

[英]Lazy fetching in hibernate

class A{
    private List<B> bs;
}

class B{
    private String fieldA;
    @Basic(fetch = FetchType.LAZY)
    private String fieldB;
}

當我做 :

from A

它還返回我已初始化為lazy的fieldB數據。 為什么會這樣呢? 我做錯了什么嗎?

JPA中的LAZY(與EAGER不同)只是一個提示,JPA實現可能會忽略它。

不管LAZY / EAGER設置如何,ObjectDB總是急切地加載基本字段。

如果您要延遲加載非常大的字符串,請將其保留在單獨的實體對象中。 例如,您可以定義一個帶有單個String字段的實體類LargeString,並將對LargeString的引用設置為LAZY。

或者,您可以使用查詢僅檢索選定的字段。 但是,如果通常不需要這些大字符串,將大字符串保留在單獨的實體中可能會更有效率。

源1 ,源2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM