Galera depois de quebrar muito a cabeça consegui fazer funcionar o código na minha máquina.
1ª dica: POM.XML - A versão do mysql conector
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
2ª dica: POM.XML - A versão do Hibernate
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.0.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.0.Final</version>
</dependency>
3ª Dica: Classe ServletSpringMVC Observe se no método getServletConfigClasses() está assim:
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class [] {AppWebConfiguration.class, JPAConfiguration.class};
}
4ª Dica: Verifique se sua classe JPAConfiguration está assim:
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean factoryBean =
new LocalContainerEntityManagerFactoryBean();
JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
factoryBean.setJpaVendorAdapter(vendorAdapter);
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setUsername("seuUser");
dataSource.setPassword("suasenha");
dataSource.setUrl("jdbc:mysql://localhost/SEUBANCODEDADOSAQUI?useSSL=false&serverTimezone=UTC"); //atente-se a url corretamente
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
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.setDataSource(dataSource); //veja se colocou este metodo
factoryBean.setPackagesToScan("br.com.casadocodigo.loja.model");
//Cuidado pois o package meu é model no curso está "models"
return factoryBean;
}