【问题标题】:@Fetch(FetchMode.JOIN) in Hibernate violates the FetchType.LAZYHibernate 中的@Fetch(FetchMode.JOIN) 违反了 FetchType.LAZY
【发布时间】:2017-12-15 10:40:47
【问题描述】:

我正在使用 hibernate >5.2.10.Final 并使用 FETCH JOIN 急切地加载内部实体。

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "XYX", joinColumns = @JoinColumn(name = "TT"), inverseJoinColumns = @JoinColumn(name = "TT"))
@Fetch(FetchMode.JOIN)
private Set<PWR> pwrs;

由于 FetchType 设置为 Lazy,FetchMode 设置为 JOIN,因此在相关查询中,pwrs 正在急切地加载。

那么,我的问题是,如果我们使用 FetchMode 作为 JOIN,我们不应该使用 FetchType 吗?

【问题讨论】:

    标签: java hibernate join fetch hibernate-criteria


    【解决方案1】:

    @Fetch(FetchMode.JOIN) 将覆盖 @OneToMany(fetch = FetchType.LAZY) 你不能同时使用两者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 2015-03-07
      • 2014-03-18
      相关资源
      最近更新 更多