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

IllegalArgumentException: Unknown entity:

Minha aplicação está lançando no momento de cadastrar o livro no banco, à Exception:

IllegalArgumentException: Unknown entity: org.cursospring.loja.model.Produto

Verifiquei os imports e acredito que estão ok.

Produto.java

package org.cursospring.loja.model;


import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Produto {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)    
    private int id;
    //restante do código oculto...

ProdutoDAO.java

package org.cursospring.loja.DAO;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;


import org.cursospring.loja.model.Produto;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

@Repository
@Transactional
public class ProdutoDAO {

    @PersistenceContext
    private EntityManager manager;

    public void gravar(Produto produto) {
        manager.persist(produto);
    }

}

Alguém dá uma luz?

3 respostas

Acho que descobri o problema! A annotation @Transactional deve ser importada do pacote import javax.transaction.Transactional; E não do import org.springframework.transaction.annotation.Transactional;

Eu não tenho certeza ainda pois só vou poder testar em casa a noite. Mas, eu aviso aqui se der certo.

solução!

Oi Cleverson,

Confere também sua classe JPAConfiguration, nessa linha:

factoryBean.setPackagesToScan("br.com.casadocodigo.loja.models");

Se esse pacote esta igual ao do seu projeto, pois a JPA somente vai carregar as entidades desse pacote.

Era isso também! Obrigado professor.