我定义了一个类;
release_date
当我尝试使用制造商获取ATG实体时,我设置为;
@Entity
@Table(name = "atg", uniqueConstraints = @UniqueConstraint(columnNames = "code"))
public class ATG{
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "companyid")
Manufacturer manufacturer;
..
}
这是有效的。意思是我得到制造商的详细信息。
我将制造商类定义为;
criteria.setFetchMode("manufacturer", FetchMode.JOIN);
我也想获取网站对象。所以,我确实喜欢,
@Entity
public class Manufacturer{
@OneToMany( mappedBy="manufacturer")
private List<Site> sites;
}
但这不起作用。也就是说,我无法获得网站列表。
在这种情况下我应该如何使用FetchMode.Join?
答案 0 :(得分:0)
您可以尝试将createAlias()放入您的条件中。见样本
criteria.createAlias("manufacturer.sites","site",CriteriaSPecification.LEFT_JOIN);
criteria.setFetchMode("site", FetchMode.JOIN);