我正在使用SpringBoot,当为AModel调用一个存储库时,即使我没有调用CModel或DModel,存储库也正在执行对BModel,CModel和DModel的查询。任何想法为什么会发生这种情况,以及如何防止它发生?具有Eager fetch Type属性的对象为该属性的延迟加载属性执行查询。为什么?
@Entity
public class AModel extends Model {
@OneToOne(fetch = FetchType.EAGER)
@JsonIgnore
private BModel;
}
@Entity
public class BModel extends Model {
@OneToOne(fetch = FetchType.LAZY)
private CModel;
@OneToOne(fetch = FetchType.LAZY)
private DModel;
}
@Query("select a from com.project.models.AModel a where a.id = :id")
@Override
Candidate findOne(@Param("id")Long id);
是否有任何可能的方式来保持B中偷懒,防止C和d从取? –