HIBERNATE - HQL - Buscando um ID de Objeto da Lista, dentro de um outro OBJETO

1 resposta
R

Olá PEssoal, estou com um problema no HQL, eu tenho a classe:Profissão que tem Uma lista de Especialidades!
Eu queria fazer um HQl para Buscar a Profissão de uma especialidade, como ficaria isso já tentei de varias formas mas não consigo!

Essa Query não rola…

@NamedQuery(name = "ProfissaoPorIDEspecialidade", query = "SELECT p FROM Profissao p " +
    "WHERE p.deleted=FALSE AND p.especialidades.id=?") //ERRO!

Classe Profissão:

public class Profissao {
    private long id;
    private String descricao;
    @OneToMany
    private List<Especialidade> especialidades = new ArrayList();

Classe Especialidade:

public class Especialidade {
private long id;
private String descricao;
}

1 Resposta

mauqz

Acredito que o ideal seria, na minha opinião, adicionar o campo profissao na sua classe de especialidades.

Então sua busca seria algo do tipo:
“SELECT p FROM Especialidade e, inner join e.profissao p where p.deleted=FALSE AND p.especialidades.id=?”

Se eu tiver alguma outra idéia posto aqui!

Criado 9 de setembro de 2009
Ultima resposta 9 de set. de 2009
Respostas 1
Participantes 2