@4mega escreveu:
Estou montando uma agenda Telefônica Interna para a empresa a qual eu trabalho e nesta agenda terá contatos favoritos, por este motivo construí as tabelas das seguintes formas:
- Favoritos: (id_favorito, cod_contato, cod_usuario) Armazena o favorito de determinado Usuario, sendo assim, um usuário pode possuir mais de um contato favorito e um contato pode pertencer a mais de um usuario;
Contato: (id_contato, numero_telefone, Ramal, email) Nada mais que o contato;
- Usuario: (id_usuario, login, senha, acesso) Usuario do sistema;
Problema:
Preciso retonar um select do tipo List usando Criteria QUE BUSQUE os Contatos Favoritos de determinado Usuario, o problema é que Favorito recebe as chaves estrangeiras, desta forma NÃO posso desenvolver o código desta forma:
Criteria criteria = session.createCriteria(Favoritos.class, "f"); criteria.createAlias("f.codContato", "contato"); criteria.add(Restrictions.eq("f.codUsuario", Usuario.getUsuarioLogin)); return criteria.list();
Deveria ser algo do tipo:
Criteria criteria = session.createCriteria(Contato.class, "c");
O select que preciso transformar seria este:
select * from contato c left join favoritos f on c.id_contato = f.cod_contato and f.cod_usuario= 1 order by f.id_favorito,c.id_contato
Alguém conhece uma forma de eu efetuar este select com este tipo de retorno?
Mensagens: 1
Participantes: 1