Olá a todos, estou querendo fazer um join entre duas tabelas que são duas classes na minha camada de modelo, encontrei varis duvidas parecdias com as minhas mas nenhuma das soluções que vi forma boas para mim, também olhei o site do hibernate e nada: http://docs.jboss.org/hibernate/core/3.6/reference/pt-BR/html/ e nada.
O que eu quero: fazer um join entre duas classes, hoje não faço mapeamento do Hibernate com o xml, tenho apenas o hibernate.properties que funciona com criterias mais simples.@Entity
public class Funcionario{
@Id
@GeneratedValue
private Long id;
private String nome;
private int numero;
private Endereco endereco;
@OneToMany
@JoinColumn(name="numero")
public Endereco SetEndereco() {
return endereco;
}
/*outros get e set*/
}
public class Endereco{
private int cidade;
private int numero_funcionario; /*essa seria o campo que os une*/
@ManyToOne
@JoinColumn(name="numero_funcionario", insertable=false, updatable=false)
public Endereco getEndereco() {
return endereco;
}
/* outros get e set*/
}
public class HibernateUtil {
private static SessionFactory factory;
static {
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(User.class);
cfg.addAnnotatedClass(Funcionario.class);
cfg.addAnnotatedClass(Endereco.class);
factory = cfg.buildSessionFactory();
}
public Session getSession() {
return factory.openSession();
}
}
public List<Funcionario> getTudo(int numero){
Query q = session.createQuery(
"from funcionario as f " +
"left join endereco as e with e.numero_funcionario.numero = :numero " +
"where f.numero = :numero"
);
List<Funcionario> resumo = q.list();
return resumo;
}
Path expected for join
Eu sei que esta tudo errado, alguem podia me dar uma direção? todas as soluções que eu vejo usam o xml para mapear as classes com a tabela, sendo que eu uso isso no util!! como faço?
Obrigada a todos :)

