Using JOIN with HQL function in Nhibernate?

Asked

Viewed 284 times

3

I am trying to run a JOIN using HQL with Nhibernate and returns an empty list. How to do this ?

I’m trying like this.

[Serializable]
public class Cliente {
    public virtual int id               { set; get; }
    public virtual string nome          { set; get; }
    public virtual string cpf           { set; get; }
    public virtual DateTime nascimento  { set; get; }
}

[Serializable]
public class Conta {    
    public virtual long id                      { set; get; }
    public virtual Cliente cliente              { set; get; }
    public virtual String historico             { set; get; }
    public virtual DateTime dtLancamento        { set; get; }
    public virtual DateTime dtVencimento        { set; get; }
    public virtual decimal valorFinal           { set; get; }
}

DAO

//JOIN
public IList<Conta> findAllContasReceberAtiva() 
{
      ISession _session = getSession();
      IList<Conta> list = _session.CreateQuery("FROM Conta c " +
          " INNER JOIN c.cliente cli ON (c.cliente.id = cli.id) " +  
          " WHERE (c.tipoConta = 1) AND (c.status = 0) ORDER BY c.dtLancamento ")
         .List<Conta>();
      return list;    
}
  • 1

    If you made the relationship one-to-Many the mapping of the Client and Many-to-one in account I think it would be easier. I wouldn’t need to write sql... if you want I can for example how to map..

  • @Marcogiovanni yes, I agree. It’s just that it’s a college job that the professor asked for a JOIN and you’ve seen neh, explain to the teacher that it is autojoin takes anossss...kkk. But I’ve managed to do it here. Thank you

  • @Fernandopaiva put his solution as a response.

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.