Olá
Possuo as seguintes tabelas:
Pessoa
nome
liberado
…
Juridica
CNPJ
razão social
…
Preciso listar somente as “pessoas” “juridica” que estiverem liberadas.
Estou tentando usar o criteria para isso, porém não esta dando muito certo, pois a coluna Liberado esta na tabela pessoa e não na tabela juridica.
public List listaJuridicaLiberada(){
Criteria criteria = dao.CriteriaListarAlgo(Juridica.class);
String liberado = "sim";
criteria.add(Restrictions.eq("liberado", liberado));
return criteria.list();
}
Alguém pode por favor me ajudar.
[code]public List listaJuridicaLiberada(){
Criteria criteria = dao.CriteriaListarAlgo(Juridica.class, "juridica").createAlias("juridica.pessoa", "pessoa");
String liberado = “sim”;
criteria.add(Restrictions.eq(“pessoa.liberado”, liberado));
return criteria.list();
}
[/code]
Vê se isso funciona.
Valeu pela resposta david.jv, mas não deu certo.
Isso funciona quando você “chama” um id, mas não esta funcionando quando se referencia uma string…
Ou esta faltando algo ou eu não sei como fazer…
Deu certo, faltou acertar algumas coisas. Não conhecia o Alias.
public List listaJuridicaLiberada(){
Criteria criteria = dao.CriteriaListarAlgo(Juridica.class).createAlias("pessoa", "p");
criteria.add(Restrictions.eq("p.liberado", "sim"));
return criteria.list();
}