Olá Leonardo, como crio uma variável de ambiente para minha aplicação Spring, Estou fazendo o curso ministrado por vc do Amazon EC2 e lá pede para uma variável ambiente, gostaria dessa dica por favor!
@Configuration
@EnableJpaRepositories("br.com.clipboard.financeiro.repository")
@EnableTransactionManagement
@PropertySource("classpath:/application.properties")
public class SpringDataConfig {
@Autowired
private Environment env;
@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory factory) {
JpaTransactionManager manager = new JpaTransactionManager();
manager.setEntityManagerFactory(factory);
manager.setJpaDialect(new HibernateJpaDialect());
return manager;
}
@Bean
public HibernateJpaVendorAdapter JpaVendorAdapter() {
HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();
adapter.setShowSql(env.getProperty("hibernate.show.sql", Boolean.class));
adapter.setGenerateDdl(env.getProperty("hibernate.ddl", Boolean.class));
return adapter;
}
@Bean
public EntityManagerFactory entityManagerFactory() {
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(JpaVendorAdapter());
factory.setPackagesToScan(
env.getProperty("hibernate.package.scan"),
env.getProperty("java.time.jpa.converter")
);
factory.setDataSource(dataSource());
factory.afterPropertiesSet();
return factory.getObject();
}
@Bean(name = "dataSource")
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUsername(env.getProperty("jdbc.user"));
dataSource.setPassword(env.getProperty("jdbc.pass"));
dataSource.setDriverClassName(env.getProperty("jdbc.driverClass"));
dataSource.setUrl(env.getProperty("jdbc.url"));
return dataSource;
}
}
jdbc.user = root
jdbc.pass = clipboard
#jdbc.url = jdbc:mysql://localhost:3306/contas
jdbc.url = jdbc:mysql://mysql-clipboard.cseewscw4mmo.us-east-1.rds.amazonaws.com:3306/contas
jdbc.driverClass = com.mysql.jdbc.Driver
Ao tentar acessar a aplicação vem o erro:
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set