Boa tarde gelera,
Criei uma classe de configuração do Spring por annotation e estou tendo problemas com a configuração do JPADialect, com esse erro nem o mapeamento esta sendo executado…
Como é uma implementação para meu TCC, Estou fazendo tal configuração para implantar o Spring no Java SE…
minha classe esta desta forma…
package br.com.goestecnologia.gerenciadorexpresso.util;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.util.Properties;
import javax.persistence.EntityManagerFactory;
import org.hibernate.dialect.PostgreSQLDialect;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.vendor.Database;
import org.springframework.orm.jpa.vendor.HibernateJpaDialect;
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
/**
*
* @author FernandoGodoy
*/
@Configuration
public class SpringConfiguration {
@Bean(name = "dataSource", destroyMethod = "close")
public ComboPooledDataSource comboPooledDataSource() {
ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
try {
comboPooledDataSource.setDriverClass("org.postgresql.Driver");
comboPooledDataSource.setJdbcUrl("jdbc:postgresql://localhost:5432/myAplication");
comboPooledDataSource.setUser("postgres");
comboPooledDataSource.setPassword("postgresql");
} catch (PropertyVetoException ex) {
ex.printStackTrace();
}
return comboPooledDataSource;
}
@Bean
public HibernateJpaDialect hibernateJpaDialect() {
return new HibernateJpaDialect();
}
@Bean
public HibernateJpaVendorAdapter hibernateJpaVendorAdapter() {
HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
PostgreSQLDialect postgreSQLDialect = new PostgreSQLDialect();
hibernateJpaVendorAdapter.setDatabasePlatform(postgreSQLDialect.toString());
hibernateJpaVendorAdapter.setShowSql(true);
hibernateJpaVendorAdapter.setGenerateDdl(true);
hibernateJpaVendorAdapter.setDatabase(Database.POSTGRESQL);
return hibernateJpaVendorAdapter;
}
@Bean(name = "entityManagerFactory")
public EntityManagerFactory localContainerEntityManagerFactoryBean() {
LocalContainerEntityManagerFactoryBean localContainerEntityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
localContainerEntityManagerFactoryBean.setDataSource(comboPooledDataSource());
localContainerEntityManagerFactoryBean.setJpaDialect(hibernateJpaDialect());
localContainerEntityManagerFactoryBean.setJpaVendorAdapter(hibernateJpaVendorAdapter());
localContainerEntityManagerFactoryBean.setPersistenceXmlLocation("classpath:/META-INF/persistence.xml");
localContainerEntityManagerFactoryBean.setPersistenceUnitName("persistence.xml");
Properties properties = new Properties();
properties.put("hibernate.format_sql", "true");
properties.put("hibernate.show_sql", "true");
properties.put("hibernate.generate_statistics", "true");
properties.put("hibernate.c3p0.max_size", "10");
properties.put("hibernate.c3p0.min_size", "2");
properties.put("hibernate.c3p0.timeout", "5000");
properties.put("hibernate.c3p0.max_statements", "50");
properties.put("hibernate.c3p0.idle_test_period", "3000");
properties.put("hibernate.c3p0.acquire_increment", "2");
properties.put("hibernate.default_batch_fetch_size", "10");
properties.put("hibernate.cache.use_second_level_cache", "true");
properties.put("hibernate.use_outer_join", "false");
properties.put("hibernate.query.jpaql_strict_compliance", "true");
properties.put("hibernate.hbm2ddl.auto", "update");
localContainerEntityManagerFactoryBean.setJpaProperties(properties);
localContainerEntityManagerFactoryBean.afterPropertiesSet();
return localContainerEntityManagerFactoryBean.getObject();
}
@Bean(name = "transactionManager")
public JpaTransactionManager jpaTransactionManager() {
JpaTransactionManager jpaTransactionManager = new JpaTransactionManager();
jpaTransactionManager.setEntityManagerFactory(localContainerEntityManagerFactoryBean());
jpaTransactionManager.setJpaDialect(hibernateJpaDialect());
jpaTransactionManager.afterPropertiesSet();
return jpaTransactionManager;
}
}
Quando executo ocorre o seguinte erro…
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/springframework/orm/jpa/JpaDialect
at br.com.goestecnologia.gerenciadorexpresso.view.Principal$3.run(Principal.java:121)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.ClassNotFoundException: org.springframework.orm.jpa.JpaDialect
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 15 more
Estou utilizando o Maven e verifiquei nas dependencias e todas estão devidamente declaradas…
Dois dias com este erro e nada de arrumar uma solução…
Alguem poderia me dar uma luz ae ??
Agradeço desde já!!!