You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于@EntityGraph使即时加载属性变为延迟加载及多关联实体即时加载的问题咨询

关于@EntityGraph使即时加载属性变为延迟加载及多关联实体即时加载的问题咨询

各位大佬好,我最近在使用JPA处理实体关联查询的时候碰到了个小困惑,想过来请教下大家的经验。我现在需要即时获取一对多关联的实体数据,不想用延迟加载(怕后续出现懒加载异常),所以特意在UserRepository里新增了一个单独的查询方法,还给它加上了@EntityGraph注解来配置即时加载,具体代码如下:

@RepositoryDefinition(domainClass = User.class, idClass = Long.class)
public interface UserRepository {

    Optional<User> findById(Long id);

    @EntityGraph(attributePaths = {"emailData"}, type = EntityGraph.EntityGraphType.LOAD) // this is important
    Optional<User> findEagerById(Long id);
}

不过我现在有两个疑问想请教:

  • 这个@EntityGraph的配置,会不会把User实体里原本设置为即时加载的其他属性,反而改成延迟加载了?
  • 如果我要同时即时加载多个一对多的关联实体(比如除了emailData还有orders、addresses这类集合),是不是只要把这些属性都加到attributePaths数组里就可以了?有没有什么需要注意的地方?

麻烦各位帮忙解答下,谢谢啦!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 13:24:35