Boa tarde estou com um erro em uma classe simples para testar métodos no banco
segue a classe:
package br.com.rprvidros.teste;
import java.util.List;
import br.com.rprvidros.daos.ProdutoDao;
import br.com.rprvidros.models.Produtos;
public class TestaCategoria {
public static void main(String[] args) {
List<Produtos> listar = new ProdutoDao().listar();
for (Produtos produtos : listar) {
System.out.println(produtos.getCor());
}
}
}
quando tento executar é retornado erro:
Exception in thread "main" java.lang.NullPointerException
at br.com.rprvidros.daos.ProdutoDao.listar(ProdutoDao.java:23)
at br.com.rprvidros.teste.TestaCategoria.main(TestaCategoria.java:12)
classe ProdutoDao:
package br.com.rprvidros.daos;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import br.com.rprvidros.models.Produtos;
@Repository
@Transactional
public class ProdutoDao {
@PersistenceContext
private EntityManager manager;
@Bean
public List<Produtos> listar() {
return (List<Produtos>) manager.createQuery("select p from Produtos p").getResultList();
}
@Bean
public List<Produtos> produtoCategoria(String categoria) {
String hql = "select p from Produtos p where p.categoria.nome = :categoria";
return manager.createQuery(hql).setParameter("categoria", categoria).getResultList();
}
}
esse método listar ele funciona tanto que que me retorna para uma jsp normalmente, mas se tento executar na classe de teste ele me da erro, acredito que seja o manager
que esteja null
.
esta faltando alguma configuração?