Pessoal eu tenho uma tabela Entidade Email e nela tenho um Produto com relacionamento @ManyToOne
No banco na minha tabela Email tenho varios Emails com codigos dos Produtos alguns repetidos, porém preciso trazer os emails com distinct dos codigos dos produtos
Tentei fazer de varias formas mas ta vindo todos emails:
Select distinct e from Email e
Select distinct e from Email e join e.produto prod
Alguem sabe como faço?
Como o hibernate vai saber que o distinct e pelo cdProduto?
Level 30 segundos procurando no google por hibernate + distinct
rsaleixo
Select distinct e.produto.idProduto from Email e
evertonsilvagomesjav
drsmachado:
Isto deve ajudar
Level 30 segundos procurando no google por hibernate + distinct
E qual a diferença do codigo q eu mandei pra esse que vc me mandou?
Dessa forma vai me trazer so os ids dos produtos eu preciso do Objeto email
carolino
evertonsilvagomesjava tudo bem
voce conseguiu resolver o seu problema?
to com o msm problema tb
E
evandro_araujo
pessoal, consegui fazer da seguinte forma :
CriteriaBuildercb=manager.getCriteriaBuilder();CriteriaQuery<Tuple>c1=cb.createQuery(Tuple.class);Root<PrecoPorMetodo>l1=c1.from(PrecoPorMetodo.class);c1.multiselect(l1.<Integer>get("grupo").alias("PrecoPorMetodo.grupo"),l1.<Double>get("preco").alias("PrecoPorMetodo.preco"));c1.distinct(true);Predicatepredicate=cb.equal(l1.get("metodoId"),1498);c1.where(predicate);TypedQuery<Tuple>query1=manager.createQuery(c1);List<Tuple>resultado1=query1.getResultList();for(Tupleregistro1:resultado1){intteste=(Integer)registro1.get("PrecoPorMetodo.grupo");longteste1=teste;BigDecimalvpreco=(BigDecimal)registro1.get("PrecoPorMetodo.preco");System.out.println(teste1);System.out.println("teste de conversao "+teste1);System.out.println("preco de conversao "+vpreco);System.out.println("grupo: "+registro1.get("PrecoPorMetodo.grupo"));System.out.println("Preco: "+registro1.get("PrecoPorMetodo.preco"));}
carolino
No meu caso tenho algo do tipo:
StringBuffer sql = null;
sql = new StringBuffer();
sql.append(" SELECT distinct p ");
sql.append(" FROM ");
sql.append(" Pessoa p ");
e estou tomando o seguinte erro
ORA-01791: não é uma expressão de SELECT
mas a query me parece estar certa
E
evandro_araujo
Carolino,
Mas se tiver uma coluna ID(que seria valor unico) ira trazer todos os dados da sua tabela, mesmo utilizando o distinct certo ??