E ai pessoal, Tudo Blz…
Estou com problemas para tentar fazer a pesquisa setando o valor de uma enum como parametro.
Segue os dados…
Enum:
package modelo;
public enum TipoRelacionamento {
CLIENTE("Cliente"),
FORNECEDOR("Fornecedor"),
COLABORADOR("Colaborador"),
ESTABELECIMENTO("Estabelecimento");
private String descricao;
TipoRelacionamento(String descricao){
this.descricao = descricao;
}
public String getDescricao() {
return descricao;
}
}
Na minha entidade essa enum esta mapeada da seguinte forma:
@ElementCollection(fetch = FetchType.LAZY, targetClass = EnumTipoRelacionamento.class)
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private List<EnumTipoRelacionamento>tipoRelacionamento;
Consigo salvar o cadastro no banco… Agora quero fazer um select onde o tipo do relacionamento tiver "COLABORADOR"
Estou tentando fazer assim:
@Transactional
public List<ParceiroNegocio> listagemUsuario(String nome) {
return this.manager.createQuery("from parceiro_negocio pn join pn.tipoRelacionamento r where r in (:tipoRelacionamento)", ParceiroNegocio.class)
//.setParameter("nome", nome.toUpperCase() + "%")
.setParameter("tipoRelacionamento", TipoRelacionamento.COLABORADOR.name())
.getResultList();
}



