Jhql , Criteria . Existe outra forma de fazer select com distinct

5 respostas
E

Pessoal,

Mais uma vez , preciso da ajuda de vcs.

Fiz um select com distinct usando a metodologia criteria, só que esta dando erro que esta dando erro que nao estou conseguindo resolver

Existe outro metodo de fazer select sem ser Jpql ou criteria ??

segue abaixo meu codigo que esta dando erro :

aqui da o erro 
    EntityManagerFactory factory= Persistence.createEntityManagerFactory("testandoJPA");  
    EntityManager manager= factory.createEntityManager();         
    CriteriaBuilder cb= manager.getCriteriaBuilder();  
      
    CriteriaQuery<Tuple> c = cb.createQuery(Tuple.class);  
    Root<Livro> l = c.from(Livro.class);  
    c.multiselect(l.<String>get("nome").alias("livro.nome"),l.<Double>get("preco").alias("livro.preco"));  
    c.distinct(true);  
              
    TypedQuery<Tuple> query = manager.createQuery(c);  
    List<Tuple> resultado = query.getResultList();  
      
    for (Tuple registro : resultado) {  
        System.out.println("Livro: "+registro.get("livro.nome"));  
        System.out.println("Preco: "+registro.get("livro.preco"));  
    }

erro
13:19:17,646 ERROR [STDERR] Initial SessionFactory creation failed.javax.persist
ence.PersistenceException: org.hibernate.HibernateException: The chosen transact
ion strategy requires access to the JTA TransactionManager

5 Respostas

Hebert_Coelho

pois é cara, todo erro seu você tem o hábito de postar aqui na hora.

Se você tivesse pesquisado pelo seu erro no google: ERROR [STDERR] Initial SessionFactory creation failed.javax.persist
ence.PersistenceException: org.hibernate.HibernateException: The chosen transact
ion strategy requires access to the JTA TransactionManager

Veria que ele não tem nada haver com distinct.

Rodrigo_Sasaki

Hebert Coelho:
pois é cara, todo erro seu você tem o hábito de postar aqui na hora.

Se você tivesse pesquisado pelo seu erro no google: ERROR [STDERR] Initial SessionFactory creation failed.javax.persist
ence.PersistenceException: org.hibernate.HibernateException: The chosen transact
ion strategy requires access to the JTA TransactionManager

Veria que ele não tem nada haver com distinct.


+1

E

Entao Hebert , só para sua informação …ja pesquisei no google isso…mas nao tive sucesso… e posto mesmo …vou continuar postando,
pois acredito que o principal objeito do forum, e tirar duvidas dos programadores JAVA nao é ??
EU SEI REALMENTE AONDE ESTA O MEU PROBLEMA E SEI QUE O MEU PROBLEMA NAO É O DISTINCT, pesquisei BASTANTE no google, alguns aqui do forum deram algum sugestão , mas infelizmente sem sucesso.

Rodrigo_Sasaki

pesquisou por JTA TransactionManager?

E

Ja sim Rodrigo, fiz algumas alteraçoes que alguns colegas recomendaram, mas sem sucesso … de mexer por exemplo no arquivo persistence.xml e colocar a tag JTA por exemplo., mas nao deu certo …acho que alguma coisa no meu projeto, pois crie um outro projeto novo…e funciona certinho …mas o que estou dando manuntenção nao funciona o criteria.

Criado 2 de novembro de 2012
Ultima resposta 2 de nov. de 2012
Respostas 5
Participantes 3