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

Unknown Entity

Nao pude concluir a aula 2 pois no final de tudo obtive um Unknown Entity para classe Produto, sei que e algum problema de mapeamento mas meu ProdutoDAO esta sendo mapeado de boa e a classe JPAConfiguration tambem. Como resolver esse Unknown Entity

2 respostas

Olá Gustavo,

Você anotou sua classe Produto com a anotação @Entity?

@Entity
public class Produto

Na sua configuração de JPA você definiu certinho o pacote do seu modelo? Repare abaixo que é necessário declarar o pacote onde sua classe Produto está localizada:

@Bean
    public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean(){
        LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
        JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        factoryBean.setJpaVendorAdapter(vendorAdapter);

        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        dataSource.setUsername("root");
        dataSource.setPassword("root");
        //nao precisa colocar a porta pois estamos utilizando a default
        dataSource.setUrl("jdbc:mysql://localhost/casadocodigo");
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");

        factoryBean.setDataSource(dataSource);

        Properties props= new Properties();
        props.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
        props.setProperty("hibernate.show_sql", "true");
        props.setProperty("hibernate.hbm2ddl.auto", "update");

        factoryBean.setJpaProperties(props);
        factoryBean.setPackagesToScan("br.com.alura.loja.model");
        return factoryBean;
    }
solução!

Obrigado o erro era nesse factory bean eu tinha colocado a classe Produto no pacote org.casadocodigo.loja.models e na configuracao estava br.com.alura.loja.model esse foi o erro. Dessa forma o entityManager nao estava encontrando minha entidade.