Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Erro ao cadastrar produto - Request processing failed; nested exception is javax.persistence.TransactionRequiredException: No EntityManager

Apos cadastrar colocar segurança (security) no projeto, tento cadastrar algum produto, sistema da um erro (estou colocando um link do pastbin https://pastebin.com/MQ31uasF

ProdutoDAO

@Repository // aonde fica como repositorio dos dados do dao
public class ProdutoDAO {

    @PersistenceContext // Anotacao para reconhecer a persistencia do entityManager
    private EntityManager manager;

    /**
     * Funcao para salvar
     * 
     * @param produto
     */
    public void gravar(Produto produto) {
        manager.persist(produto);
    }

    /**
     * Funcao para buscar todos os produtos
     * 
     * @return
     */
    public List<Produto> listar() {
        return manager.createQuery("select p from Produto p", Produto.class).getResultList();
    }

    public Produto findById(Integer id) {
        return manager.createQuery("select distinct(p) from Produto p join fetch p.precos precos where p.id = :id",
                Produto.class).setParameter("id", id).getSingleResult();
    }
}

ServletSpringMVC

public class ServletSpringMVC extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[] { SecurityConfiguration.class, AppWebConfiguration.class, JPAConfiguration.class };
    }

Projeto Git caso necessario

https://bitbucket.org/Sleepk/spring-2
3 respostas
solução!

Oi Julio, anote seu produtoDAO com @Transactional que deve resolver já que o erro é na hora de persistir um produto e o Spring não consegue abrir uma transação.

Espero ter ajudado e bons estudos!

Thais, tudo bem ?

Apos colocar a anotação agora estou conseguindo cadastrar o produto :D

Boa, Julio! Qualquer dúvida procure o fórum novamente :)