我有以下实体:
%%cmd
where python
myprogram "blabla" -x -y -z
使用我尝试过的Criteria API:
@Entity
@Table(name="table1")
public class Entity1 {
@Id
private Integer id;
@OneToMany(mappedBy = "entity1")
private List<Entity2> entities2;
}
@Entity
@Table(name="table2")
public class Entity2 {
@Id
private Integer id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="id")
private Entity3 entity3;
}
但是执行查询时:
CriteriaBuilder cb = entityManager.getcriteriaBuilder();
CriteriaQuery<Entity1> query = cb.createQuery(Entity1.class);
Root<Entity1> entity1= query.from(Entity1.class);
entity1.fetch("entities2",JoinType.LEFT);
entity1.fetch("entities2",JoinType.LEFT).fetch("entity3",JoinType.LEFT);
执行多个查询(与实体3相关)。我认为问题是因为这种关系在另一种内部。因为当您完成第一个联接时,没有几个查询。
感谢您的帮助。非常感谢