boa noite, estou configurando o spring data para obter conexão em um banco de dados mysql.
o sistema apresenta o seguinte erro ao fazer uma consulta no banco.
2018-05-28 17:29:12 INFO ClassPathXmlApplicationContext:583 - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@33e5ccce: startup date [Mon May 28 17:29:12 GFT 2018]; root of context hierarchy
2018-05-28 17:29:12 INFO XmlBeanDefinitionReader:317 - Loading XML bean definitions from URL [file:src/main/resources/META-INF/springbeans.xml]
2018-05-28 17:29:13 INFO DriverManagerDataSource:133 - Loaded JDBC driver: com.mysql.jdbc.Driver
2018-05-28 17:29:13 INFO DefaultPersistenceUnitManager:500 - Found explicit default unit with name ‘intranethope’ in persistence.xml - overriding local default unit settings (‘packagesToScan’/‘mappingResources’)
2018-05-28 17:29:13 INFO LocalContainerEntityManagerFactoryBean:356 - Building JPA container EntityManagerFactory for persistence unit 'intranethope’
2018-05-28 17:29:13 INFO Version:37 - HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
2018-05-28 17:29:13 INFO Version:41 - HHH000412: Hibernate Core {4.0.1.Final}
2018-05-28 17:29:13 INFO Environment:239 - HHH000206: hibernate.properties not found
2018-05-28 17:29:13 INFO Environment:342 - HHH000021: Bytecode provider name : javassist
2018-05-28 17:29:13 INFO Ejb3Configuration:526 - HHH000204: Processing PersistenceUnitInfo [
name: intranethope
…]
2018-05-28 17:29:13 INFO ConnectionProviderInitiator:186 - HHH000130: Instantiating explicit connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
2018-05-28 17:29:13 WARN ClassPathXmlApplicationContext:551 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘entityManagerFactory’ defined in URL [file:src/main/resources/META-INF/springbeans.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: intranethope] Unable to build EntityManagerFactory; nested exception is org.hibernate.HibernateException: Could not instantiate dialect class
meu arquivo de configuração
<?xml version="1.0" encoding="UTF-8"?>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="persistenceUnitName" value="intranethope"></property>
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="generateDdl" value="true" />
<property name="showSql" value="true" />
<property name="databasePlatform" value="org.springframework.orm.jpa.vendor.HibernateJpaDialect"></property>
</bean>
</property>
<property name="packagesToScan"
value="br.com.cursospringdata.curso.entity" />
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/intranethope"></property>
</bean>
classe onde gero o entitymanager
package br.com.intranethope.util;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class JPAUtil {
ClassPathXmlApplicationContext ctx;
private EntityManagerFactory emf;
private static JPAUtil instance;
private JPAUtil() {
ctx = new ClassPathXmlApplicationContext("file:src/main/resources/META-INF/springbeans.xml");
emf = (EntityManagerFactory) ctx.getBean("entityManagerFactory");
}
public static synchronized JPAUtil getInstance() {
if (instance == null) {
instance = new JPAUtil();
}
return instance;
}
public EntityManager getEntityManager() {
return emf.createEntityManager();
}
}
Acredito que precise especificar a propriedade referente ao dialect
1 curtida
boa noite darlan, tambem acho que é isso, inclusive ja mexi bastante nessa parte, o erro persiste, consegue comparar com o seu aí?
Eu não uso, mas, li o erro.
O dialeto do MySQL é o org.hibernate.dialect.MySQL5Dialect ou o genérico org.hibernate.dialect.MySQLDialect
Agora, o nome da propriedade em si, já não sei. Creio que seja dialect mesmo
<property name="dialect" value="org.hibernate.dialect.MySQLDialect"></property>
Obrigado Darlan, funcionou perfeitamente!