My application.properties:
spring.datasource.url=jdbc:postgresql://uy-agent009.soutcom.ru:5432/user
spring.datasource.username=user
spring.datasource.password=mySecretPassword
spring.datasource.driverClassName=org.postgresql.Driver
spring.jpa.hibernate.ddl-auto=none
spring.jpa.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.jdbc.fetch_size=50
spring.jpa.hibernate.jdbc.batch_size=50
spring.jpa.hibernate.format_sql=true
spring.jpa.hibernate.show_sql=true
spring.jpa.hibernate.use_sql_comments=true
spring.jpa.properties.hibernate.type=DEBUG
Мой основной класс:
@SpringBootApplication(scanBasePackages = {
"com.agent.console", "com.agent.integrations.spring"
})
@EnableJpaRepositories(basePackages = "com.agent.console")
public class AdminConsoleApplication {
public static void main(String[] args) {
SpringApplication.run(AdminConsoleApplication.class, args);
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean emFactory = new LocalContainerEntityManagerFactoryBean();
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setDatabase(Database.POSTGRESQL);
vendorAdapter.setGenerateDdl(false);
emFactory.setJpaVendorAdapter(vendorAdapter);
emFactory.setPackagesToScan("com.agent.console");
return emFactory;
}
}
Я использую PagingAndSortingRepository. Когда я запускаю основной класс и пытаюсь запустить метод Get в контроллере, используя Postman, я получаю сообщение: "NoSuchBeanDefinitionException: нет доступного компонента с именем "actionManager": не найдено подходящего компонента PlatformTransactionManager для квалификатора "actionManager "- ни соответствие квалификатора или имя бина! "
Я попытался решить проблему, добавив следующий код:
@Bean(name = "transactionManager")
public PlatformTransactionManager transactionManager() {
JpaTransactionManager txManager = new JpaTransactionManager();
txManager.setEntityManagerFactory(entityManagerFactory().getObject());
return txManager;
}
Но есть и другое исключение:
"CannotCreateTransactionException: не удалось открыть JPA EntityManager для транзакции; вложенное исключение - java.lang.UnsupportedOperationException: приложение должно предоставлять соединения JDBC"
Как я могу решить эту проблему?