gpt4 book ai didi

java - hibernate ORM : How to avoid fetching @OneToOne mapped objects?

转载 作者:行者123 更新时间:2023-11-30 11:42:15 25 4
gpt4 key购买 nike

我有以下实体:

员工[@Id Long id, String name, @OneToOne Address branchAddress, @OneToOne Address homeAddress]

Address [@Id Long id, String street, String City, String zipcode, Country 国家]

国家[@Id Long id, String name, String currency, String isoCode]

我的问题是当我尝试加载 Employee 时,大多数时候我不需要地址。 Fetching address 获取地址和后续国家。这些是每次加载员工时执行的额外查询。

我已经尝试制作 @OneToOne(FetchType.LAZY) 但没有用,它仍然提取不需要的信息。

如何避免获取复合对象?

我希望最终结果不包含 Address 对象,因为在 20 个场景中需要一次,我可以单独获取它们。

任何想法,如何实现这一目标。

谢谢

最佳答案

如果我们的 oneToOne 值不可为空,您可以通过添加 optional=false 来实现延迟加载:@OneToOne(optional=false, fetch = FetchType.LAZY).

完美explained here .

关于java - hibernate ORM : How to avoid fetching @OneToOne mapped objects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11852302/

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