Hibernate执行多个查询,而不是一个查询

Hibernate执行多个查询,而不是一个查询,hibernate,hql,Hibernate,Hql,我一直在尝试优化hibernate获取一些信息的方式,但我不理解下一个问题 我有一个这样的实体 public class AnoEmp{ //bi-directional many-to-one association to Empleado @ManyToOne(fetch=FetchType.EAGER) @JoinColumn(name="ID_EMPLEADO", nullable=false, insertable=false, updatable=false)

我一直在尝试优化hibernate获取一些信息的方式,但我不理解下一个问题

我有一个这样的实体

public class AnoEmp{
    //bi-directional many-to-one association to Empleado
    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="ID_EMPLEADO", nullable=false, insertable=false, updatable=false)
    private Empleado empleado;
}
...
public class Empleado{
    //bi-directional many-to-one association to AnoEmp
    @JsonIgnore
    @OneToMany(mappedBy="empleado", fetch=FetchType.LAZY)
    private List<AnoEmp> anosEmp;
...
还有一个像这样的

public class AnoEmp{
    //bi-directional many-to-one association to Empleado
    @ManyToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="ID_EMPLEADO", nullable=false, insertable=false, updatable=false)
    private Empleado empleado;
}
...
public class Empleado{
    //bi-directional many-to-one association to AnoEmp
    @JsonIgnore
    @OneToMany(mappedBy="empleado", fetch=FetchType.LAZY)
    private List<AnoEmp> anosEmp;
...
公共类雇员{
//到ANOMP的双向多对一关联
@杰索尼奥雷
@OneToMany(mappedBy=“empleado”,fetch=FetchType.LAZY)

私人列表,但无法使我的正常运行。有什么建议吗?非常感谢。

我发现唯一一直有效的方法是在JPQL中使用
join
,例如

   "from Empleado emp join emp.anosEmp"

我尝试过,new select显式地创建联接,但仍然得到N+1个查询…非常感谢。保留
@OneToMany(mappedBy=“empleado”,fetch=FetchType.LAZY)有什么具体原因吗
作为
Lazy
?是的,我不需要每次我需要empleado时都需要一个emp。另一种方式是不同的。查询无论如何都会得到一个emp,所以我认为empleado应该急切地加载,并且只需要一个查询。