@OneToMany和@ManyToOne上的FetchType不同

时间:2016-09-30 22:40:16

标签: hibernate jpa one-to-many many-to-one

是否有可能在@OneToMany方面进行延迟提取,但却渴望@ManyToOne方?

父:

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "parent", targetEntity = Child.class, orphanRemoval = true)
@OrderBy("childVal")
private Set<Child> childList;

孩子:

@XmlTransient
@ManyToOne(targetEntity = Parent.class, fetch = FetchType.EAGER)
@JoinColumn(name = "PARENT_ID")
private Parent parent;

请注意,双方FetchType的指定方式不同。但是,这并没有起作用,只有从数据库中检索到子项时才会急切地加载父值。

基本上,我想仅在请求时加载父项中的子项,但是在加载子项时总是在子项上加载父项。

如果无法做到这一点,我怎样才能诱导检索孩子的父母,使其不为空?相应的DB值肯定不为null。我尝试引用实例变量但是没有获取父变量。

0 个答案:

没有答案