java - Spring Boot Framework 不会在启动时初始化数据库
问题描述
我对 Spring 框架有疑问。它不会在启动时自动创建数据库。我阅读了Spring 的 HowTo-Guides 关于如何初始化数据库并遵循了这些步骤,但它不起作用。我也在网上搜索了类似的问题,但我没有找到任何可以帮助我的东西。
错误描述:
在服务器启动时,我收到一条错误消息:(
FATAL: Datenbank »money_man_api_db« existiert nicht
德语)
FATAL: Database »money_man_api_db« does not exist
(英语翻译)
我的配置:
应用程序属性:
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
为什么数据库没有初始化?我是不是忘记了什么?
解决方案
首先你应该创建一个数据库,稍后你可以连接到这个数据库。
标题具有误导性,因为 Hibernate 不会创建数据库,而是会在该数据库中创建表。Hibernate 是一个 ORM,它会创建兼容的 SQL 查询来与数据库交互。它是您的 OO 代码和数据库之间的一层,负责处理创建 SQL 查询并将它们映射到您的代码的复杂性。
更多信息可以在这里找到:https ://hibernate.org/orm/
推荐阅读
- powershell - 为什么总是提示我确认?
- ios - 关闭 Cordova iOS 应用程序时,安全 cookie 会丢失
- python-3.x - 为什么具有可迭代解包无效语法的元组的扩充分配?
- python - 自动化 Teradata 数据 SQL
- python - 在终端中导入python包的问题
- java - 这些代码与泛型有什么区别
- r - 显示 X 和 Y 轴并使用 spplot 更改它们的范围
- r - 如何使用 Docker 将 Rmarkdown 转换为 HTML?
- javascript - 错误:发送标头后无法设置标头 NodeJs 4
- react-native - 通知 - 清除 android 通知托盘中的所有通知