Olá amigos, estou com dúvida para fazer duas seleções em minha classe. Eu tenho a classe Chamado:
public class Chamado {
@Id
@GeneratedValue
private Long id;
@ManyToOne
private Estab estab;
@ManyToOne
private Status status;
@ManyToOne
private Usuario relator;
@ManyToOne
private Setor setor;
@Temporal(TemporalType.DATE)
private Date dtabertura;
@Column(length=250)
private String assunto;
@OneToMany(mappedBy="chamado")
private List<ItemChamado> itens;
@OneToMany
private List<Usuario> interessados;
Eu preciso pegar desta entidade dois resultados:
- Listar todos os Chamados que tenham um determinado Usuario na listagem “interessados”
- Listar todos os Chamados que não tenham nenhum Usuario na listagem “interessados”
Na meu DAO estava fazendo assim:
public List<Chamado> listaNovos(Usuario u) {
String hql = "select c from Chamado as c where c.setor = :setor"; //and não tenha nenhum interessado
Query query = getSession().createQuery(hql);
query.setParameter("setor", u.getSetor());
return query.list();
}
public List<Chamado> listaPendentes(Usuario u) {
String hql = "select c from Chamado as c "; //where interessado = :usuario
Query query = getSession().createQuery(hql);
query.setParameter("usuario", u);
return query.list();
}
Como resolver isto ??
Obrigado