Java Hibernate ORM:如何避免获取@OneToOne映射对象?

Java Hibernate ORM:如何避免获取@OneToOne映射对象?,java,spring,hibernate,jpa,orm,Java,Spring,Hibernate,Jpa,Orm,我有以下实体: 员工[@Id Long Id,字符串名称,@OneToOne地址分支地址,@OneToOne地址家庭地址] 地址[@Id Long Id,String street,String City,String zipcode,Country-Country] 国家[@Id Long Id,字符串名称,字符串货币,字符串等位码] 我的问题是,当我尝试加载员工时,大多数情况下我不需要地址。获取地址获取地址和后续国家/地区。这些是每次我加载employee时执行的额外查询 我曾尝试制作@On

我有以下实体:

员工[@Id Long Id,字符串名称,@OneToOne地址分支地址,@OneToOne地址家庭地址]

地址[@Id Long Id,String street,String City,String zipcode,Country-Country]

国家[@Id Long Id,字符串名称,字符串货币,字符串等位码]

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

我曾尝试制作@OneToOne(FetchType.LAZY),但没有成功,它仍然会提取不需要的信息

如何避免获取复合对象

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

任何想法,如何实现这一点


谢谢

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

这是完美的