Guest User

Untitled

a guest
Jun 22nd, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.87 KB | None | 0 0
  1. Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
  2.  
  3. import org.hibernate.ejb.HibernatePersistence;
  4. import org.springframework.context.annotation.Bean;
  5. import org.springframework.context.annotation.ComponentScan;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.context.annotation.PropertySource;
  8. import org.springframework.core.env.Environment;
  9. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  10. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  11. import org.springframework.orm.jpa.JpaTransactionManager;
  12. import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
  13. import org.springframework.transaction.annotation.EnableTransactionManagement;
  14.  
  15. import javax.annotation.Resource;
  16. import javax.sql.DataSource;
  17. import java.util.Properties;
  18.  
  19. @Configuration
  20. @EnableTransactionManagement
  21. @ComponentScan("ua.hillel.dnipro")
  22. @PropertySource("classpath:hiber.properties")
  23. @EnableJpaRepositories("ua.hillel.dnipro.repository")
  24. public class JpaConfig {
  25.  
  26. private static final String PROP_DATABASE_DRIVER = "db.driver";
  27. private static final String PROP_DATABASE_PASSWORD = "db.password";
  28. private static final String PROP_DATABASE_URL = "db.url";
  29. private static final String PROP_DATABASE_USERNAME = "db.username";
  30. private static final String PROP_HIBERNATE_DIALECT = "db.hibernate.dialect";
  31. private static final String PROP_HIBERNATE_SHOW_SQL = "db.hibernate.show_sql";
  32. private static final String PROP_ENTITYMANAGER_PACKAGES_TO_SCAN = "db.entitymanager.packages.to.scan";
  33. private static final String PROP_HIBERNATE_HBM2DDL_AUTO = "db.hibernate.hbm2ddl.auto";
  34.  
  35.  
  36. @Resource
  37. private Environment env;
  38.  
  39. @Bean
  40. public DataSource dataSource() {
  41. DriverManagerDataSource dataSource = new DriverManagerDataSource();
  42.  
  43. dataSource.setDriverClassName(env.getRequiredProperty(PROP_DATABASE_DRIVER));
  44. dataSource.setUrl(env.getRequiredProperty(PROP_DATABASE_URL));
  45. dataSource.setUsername(env.getRequiredProperty(PROP_DATABASE_USERNAME));
  46. dataSource.setPassword(env.getRequiredProperty(PROP_DATABASE_PASSWORD));
  47.  
  48. return dataSource;
  49. }
  50.  
  51. @Bean
  52. public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
  53. LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
  54. entityManagerFactoryBean.setDataSource(dataSource());
  55. entityManagerFactoryBean.setPersistenceProviderClass(HibernatePersistence.class);
  56. entityManagerFactoryBean.setPackagesToScan(env.getRequiredProperty(PROP_ENTITYMANAGER_PACKAGES_TO_SCAN));
  57.  
  58. entityManagerFactoryBean.setJpaProperties(getHibernateProperties());
  59.  
  60. return entityManagerFactoryBean;
  61. }
  62.  
  63. @Bean
  64. public JpaTransactionManager transactionManager() {
  65. JpaTransactionManager transactionManager = new JpaTransactionManager();
  66. transactionManager.setEntityManagerFactory(entityManagerFactory().getObject());
  67.  
  68. return transactionManager;
  69. }
  70.  
  71. private Properties getHibernateProperties() {
  72. Properties properties = new Properties();
  73. properties.put(PROP_HIBERNATE_DIALECT, env.getRequiredProperty(PROP_HIBERNATE_DIALECT));
  74. properties.put(PROP_HIBERNATE_SHOW_SQL, env.getRequiredProperty(PROP_HIBERNATE_SHOW_SQL));
  75. properties.put(PROP_HIBERNATE_HBM2DDL_AUTO, env.getRequiredProperty(PROP_HIBERNATE_HBM2DDL_AUTO));
  76. // properties.put(FORMAT_SQL, env.getRequiredProperty(FORMAT_SQL));
  77. return properties;
  78. }
  79. }
  80.  
  81. #DB properties:
  82. db.driver=org.h2.Driver
  83. db.url=jdbc:h2:~/echo_data_base
  84. db.username=sa
  85. db.password=
  86.  
  87. #Hibernate Configuration:
  88. db.hibernate.dialect=org.hibernate.dialect.H2Dialect
  89. db.hibernate.show_sql=true
  90. db.entitymanager.packages.to.scan=ua.hillel.dnipro
  91. db.hibernate.hbm2ddl.auto=update
Add Comment
Please, Sign In to add comment