Oi galera,
Tenho as seguintes classes:
public class Menu {
private int cd_menu;
private String ds_menu;
private int nr_ordem;
private List secoes;
…
public class Secao {
private int cd_secao;
private String ds_secao;
private String ds_liberada;
private String corpo;
private String olho;
private String foto;
private String box;
private String pergunta;
private int ordemsite;
private Menu menu;
private List materias;
…
public class Materia {
private int cd_materia;
private Integer cd_secao;
private Integer cd_edicao;
private String ds_autor;
private String imagem_home;
private String textohome;
private String textosumario;
private List corpos;
private List olhos;
private List fotos;
private List boxs;
private List perguntas;
private Secao secao;
…
Como deu pra notar, tenho a classe Menu que contém uma coleção de Secao que por sua vez contém uma coleção de Materia.
Sendo assim montei a seguinte consulta:
List lista = session.find(“select distinct menus from Materia materia join materia.secao as secoes join secoes.menu as menus where materia.cd_edicao = " + edicao + " order by secoes.ordemsite asc”);
Onde deveriam vir só os Menus e Seções com Materias na edição número X.
Mas ao contrário disso ele trás todos os Menus e Seções.
[]s