Код: Выделить всё
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'comissionamentoEntityManagerFactory' defined in class path resource [coruripe/comissionamento/config/ComissionamentoConfig.class]: [PersistenceUnit: comissionamento] Unable to build Hibernate SessionFactory; nested exception is java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.
I am working on a project that initially had only one database for the "comissionamento" module. Now, I need to create a new separate module for "sis". I have configured it according to Spring's documentation and forums. Below are the configurations:
Код: Выделить всё
# Database configurations for Comissionamento
spring.datasource.comissionamento.url=jdbc:postgresql://localhost:5432/comissionamento
spring.datasource.comissionamento.username=***
spring.datasource.comissionamento.password=***
spring.datasource.comissionamento.driver-class-name=org.postgresql.Driver
# JPA/Hibernate configurations for Comissionamento
spring.jpa.comissionamento.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.comissionamento.hibernate.ddl-auto=update
spring.jpa.comissionamento.show-sql=true
spring.jpa.comissionamento.format-sql=true
# Database configurations for SIS
spring.datasource.sis.url=jdbc:postgresql://localhost:5432/sis
spring.datasource.sis.username=***
spring.datasource.sis.password=***
spring.datasource.sis.driver-class-name=org.postgresql.Driver
# JPA/Hibernate configurations for SIS
spring.jpa.sis.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.sis.hibernate.ddl-auto=update
spring.jpa.sis.show-sql=true
spring.jpa.sis.format-sql=true
ComissionamentoConfig
Код: Выделить всё
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
basePackages = "coruripe.comissionamento.repository",
entityManagerFactoryRef = "comissionamentoEntityManagerFactory",
transactionManagerRef = "comissionamentoTransactionManager"
)
public class ComissionamentoConfig {
@Primary
@Bean(name = "comissionamentoDataSource")
@ConfigurationProperties(prefix = "spring.datasource.comissionamento")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean(name = "comissionamentoEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
EntityManagerFactoryBuilder builder) {
return builder
.dataSource(dataSource())
.packages("coruripe.comissionamento.model")
.persistenceUnit("comissionamento")
.properties(Map.of(
"hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect",
"hibernate.hbm2ddl.auto", "update",
"hibernate.show_sql", "true",
"hibernate.format_sql", "true"
))
.build();
}
@Primary
@Bean(name = "comissionamentoTransactionManager")
public PlatformTransactionManager transactionManager(
@Qualifier("comissionamentoEntityManagerFactory") EntityManagerFactory entityManagerFactory) {
return new JpaTransactionManager(entityManagerFactory);
}
}
Код: Выделить всё
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
basePackages = "coruripe.sis.repository",
entityManagerFactoryRef = "sisEntityManagerFactory",
transactionManagerRef = "sisTransactionManager"
)
public class SisConfig {
@Bean(name = "sisDataSource")
@ConfigurationProperties(prefix = "spring.datasource.sis")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "sisEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
EntityManagerFactoryBuilder builder) {
return builder
.dataSource(dataSource())
.packages("coruripe.sis.model")
.persistenceUnit("sis")
.properties(Map.of(
"hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect",
"hibernate.hbm2ddl.auto", "update",
"hibernate.show_sql", "true",
"hibernate.format_sql", "true"
))
.build();
}
@Bean(name = "sisTransactionManager")
public PlatformTransactionManager transactionManager(
@Qualifier("sisEntityManagerFactory") EntityManagerFactory entityManagerFactory) {
return new JpaTransactionManager(entityManagerFactory);
}
}
Для контекста, вот структура проекта на случай, если это поможет.< /p>
Структура проекта
Примечание. В пакете «sis» или каких-либо контроллерах пока нет сущностей. На данный момент существуют только каталоги.
Подробнее здесь: https://stackoverflow.com/questions/793 ... me-project
Мобильная версия