1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

GlassFish 4.1 + Hibernate 4.3.11 + @PersistenceContext

Estou criando um projeto com Eclipse+Maven+GlassFish 4.1+Hibernate 4.3.11+Postgres 9.3

Não consigo fazer persistência se na minha classe Service eu criar o EntityManager com a anotação @PersistenceContext. Se eu criar com o EntityManagerFactory dá certo conforme código abaixo:

Meu Service

package br.leg.rr.tce.ejb;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.*;

import br.leg.rr.tce.domain.*;

@Stateless
public class ModeloService {

    // Da erros do tipo:
    //java.lang.ClassCastException: br.leg.rr.tce.domain.MinhaClasse cannot be cast to br.leg.rr.tce.domain.MinhaClasse
    // @PersistenceContext
    // private EntityManager entityManager;


    //Não dá nehum tipo de erro
    private static final EntityManagerFactory factory = Persistence
            .createEntityManagerFactory("pontoPU");
    private EntityManager entityManager = factory.createEntityManager();

    public void salvaModelo(Modelo modelo) {
        entityManager.persist(modelo);
    }

    @SuppressWarnings("unchecked")
    public List<Modelo> listaModelos() {
        Query query = entityManager
                .createQuery("Select m from Modelo m order by m.nome");

        return query.getResultList();
    }

    @SuppressWarnings("unchecked")
    public List<Marca> listaMarcas() {
        Query query = entityManager
                .createQuery("Select m from Marca m order by m.nome");

        return query.getResultList();
    }

}
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags glassfish hibernate maven eclipse ou faça a sua própria pergunta.