#java #spring #postgresql #spring-boot #kotlin
#java #spring #postgresql #spring-boot #kotlin
Вопрос:
У меня проблема с Spring Framework. Он не создает базу данных автоматически при запуске. Я прочитал инструкции Spring о том, как инициализировать базу данных, и выполнил эти шаги, но это не работает. Я также искал в Интернете похожие проблемы, но не нашел ничего, что могло бы мне помочь.
Описание ошибки:
При запуске сервера я получаю сообщение об ошибке: FATAL: Datenbank »money_man_api_db« existiert nicht
(Немецкий) FATAL: Database »money_man_api_db« does not exist
(Перевод на английский)
Моя конфигурация:
application.properties:
server.port=3000
# Basic Connection Configuration
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.maximum-pool-size=5
# PostgreSQL Configuration
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=create
spring.datasource.initialization-mode=always
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/money_man_api_db
spring.datasource.username=postgres
spring.datasource.password=admin
Почему база данных не инициализируется? Я что-то забыл?
Комментарии:
1. Springboot не собирается автоматически создавать базу данных для вас. Вам нужно создать базу данных самостоятельно. Но Springboot может автоматически создавать таблицы в БД. У вас уже есть свойство для этого: spring.jpa.hibernate.ddl-auto.
2. В этом случае название руководства действительно вводит в заблуждение, спасибо за ваш ответ.
Ответ №1:
Сначала вы должны создать базу данных, позже вы сможете подключиться к этой базе данных.
Название вводит в заблуждение, потому что Hibernate не создаст базу данных, но создаст таблицы в этой базе данных. Hibernate — это ORM, он будет создавать совместимые SQL-запросы для взаимодействия с базой данных. Это слой между вашим OO-кодом и базой данных, который заботится о сложности создания SQL-запросов и их сопоставления с вашим кодом.
Более подробную информацию можно найти здесь: https://hibernate.org/orm /