Ok guys, this is driving me crazy. So...
This is my Empresa class relationship:
@ManyToOne
@JoinColumn(name = "consultor_id", nullable = false)
private Consultor consultor;
There are some other mappings like:
@OneToMany(mappedBy = "empresa", cascade = CascadeType.ALL)
private Set<MelhoriasAtingidas> ma = new LinkedHashSet<>();
@OneToMany(mappedBy = "empresa", cascade = CascadeType.ALL)
private Set<Atividades> at = new LinkedHashSet<>();
@OneToMany(mappedBy = "empresa", cascade = CascadeType.ALL)
private Set<Pessoa> set = new LinkedHashSet<>();
And this is my consultor class,the id, and the mappings:
@Id
@Column(name = "id", nullable = false)
@GeneratedValue
private int id;
@OneToMany(mappedBy = "consultor", cascade = CascadeType.ALL)
private Set<MelhoriasAtingidas> ma = new LinkedHashSet<MelhoriasAtingidas>();
@OneToMany(mappedBy = "consultor", cascade = CascadeType.ALL)
private Set<Atividades> at = new LinkedHashSet<Atividades>();
@OneToMany(mappedBy = "consultor", cascade = CascadeType.ALL)
private Set<Empresa> em = new LinkedHashSet<Empresa>();
I'm trying to query all the Empresas that belongs to a given Consultor, using Hibernate's TypedQuery:
public List<Empresa> getEmpresas(Integer id){
. standard entity manager stuff here
.
.
TypedQuery<Empresa> query = manager.createQuery("from Empresa e where 
e.consultor.id = ?", Empresa.class);
query.setParameter(1,id);
...
}
When i do that: "from Empresa e where e.consultor.id = ?", Empresa.class, i get a Stack Overflow Error.
This is the part of Hibernate's log that i want to do:
2017-06-28T18:43:19.842-0300|Informações: Hibernate: 
      select
        empresa0_.id as id1_2_,
        empresa0_.cnpj as cnpj2_2_,
        empresa0_.consultor_id as consulto5_2_,
        empresa0_.criado as criado3_2_,
        empresa0_.nome as nome4_2_ 
    from
        empresa empresa0_ 
    where
        empresa0_.consultor_id=?
2017-06-28T18:43:19.848-0300|Informações: Hibernate: 
    select
        consultor0_.id as id1_1_0_,
        consultor0_.criado as criado2_1_0_,
        consultor0_.nome as nome3_1_0_ 
    from
        consultor consultor0_ 
    where
        consultor0_.id=?
And then Hibernate do thousands of this:
2017-06-28T18:43:19.860-0300|Informações: Hibernate: 
    select
        at0_.empresa_id as empresa13_2_0_,
        at0_.id as id1_0_0_,
        at0_.id as id1_0_1_,
        at0_.area as area2_0_1_,
        at0_.atividades as atividad3_0_1_,
        at0_.consultor_id as consult12_0_1_,
        at0_.criado as criado4_0_1_,
        at0_.data as data5_0_1_,
        at0_.empresa_id as empresa13_0_1_,
        at0_.ferramenta as ferramen6_0_1_,
        at0_.fim as fim7_0_1_,
        at0_.inicio as inicio8_0_1_,
        at0_.programa as programa9_0_1_,
        at0_.status_id as status_14_0_1_,
        at0_.tempo as tempo10_0_1_,
        at0_.tipo as tipo11_0_1_,
        consultor1_.id as id1_1_2_,
        consultor1_.criado as criado2_1_2_,
        consultor1_.nome as nome3_1_2_,
        status2_.id as id1_8_3_,
        status2_.criado as criado2_8_3_,
        status2_.status as status3_8_3_ 
    from
        atividades at0_ 
    inner join
        consultor consultor1_ 
            on at0_.consultor_id=consultor1_.id 
    inner join
        status status2_ 
            on at0_.status_id=status2_.id 
    where
        at0_.empresa_id=?
What's happening? Am I terrible?
First question btw, so be nice :)
 
    