Erro Gramatical JPA, Mysql 5.1.45

Olá pessoal estou com o seguinte erro no meu código JPA + jsf + Hibernate, quero listar todas as pessoas no banco de dados Mysql 5.1.45. O problema é que recebi o seguinte erro em executar a query. Voces podem dar uma ajudinha…?

mensagemerro%20de%20sintaxe

O meu códuigo JPA:

	public List<I> getListEntity(Class <I> entidade){
	EntityManager entityManager = JPAUtil.getEntityManager();
	EntityTransaction entityTransaction = entityManager.getTransaction();
	entityTransaction.begin(); 
	List<I> result = entityManager.createNativeQuery("from " + 
			entidade.getName())
			.getResultList();
	entityTransaction.commit();
	entityManager.close(); // fecha a transação
	return result;

Remove esse commit!

Afinal qual era pra ser a utilidade dele aí ?

Olá Jonathan_Medeiros ele trata da transação com o banco, afinal já tentei remover a linha e continua a dar o mesmo erro…!!!

Compreendo, é que eu não havia trabalhado desta forma, sempre utilizei da seguinte forma abaixo, e pra mim pelo menos sempre funcionou!

Exemplo:

public class ClasseQualquer {
    protected EntityManager entityManager;

    public List<I> findAll(Class<I> entidade) {
         return entityManager.createQuery("FROM " + entidade.getName()).getResultList();
    }
}

Perfeito Jonathan_Medeiros, fiz exatamemento o que fizeste antes e funcionou perfeitamente, obrigado cara, descobri que entityManager.createNativeQuery trabalha com SQL puro.

Agora já consigo listar perfeitamente:
Ai surge a seguinte questão, quando faço remover ele actualiza no banco mas guarda na memoria o item excluído ou seja tenho os registo 1,2,3,4…quando elimino o registo quatro ele deviria começar a contar de três novamente certo?

organiza%C3%A7%C3%A3o

public List<I> getListEntity(Class <I> entidade){
	EntityManager entityManager = JPAUtil.getEntityManager();
	EntityTransaction entityTransaction = entityManager.getTransaction();
	entityTransaction.begin(); 
	//List<I> result = entityManager.createNativeQuery("SELECT * FROM pessoa " + entidade.getName()).getResultList();
	List<I> result = entityManager.createQuery("from " + entidade.getName()).getResultList();
	entityTransaction.commit();
	entityManager.close(); // fecha a transação
	return result;