繁体   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