当前位置: 首页 > 知识库问答 >
问题:

Spring Boot无法在PostgreSql数据库中生成表

高运诚
2023-03-14

我有一个Spring Boot应用程序,我在Docker容器中创建了一个PostgreSql数据库。我可以使用工具连接到该数据库,但当我运行Spring Boot应用程序时,即使在调试屏幕上看到以下日志,它也无法创建表:

Hibernate:删除表,如果存在public.employees级联
Hibernate:创建表public.employees(id bigSeries not null,email varchar(255),first_namevarchar(255),last_namevarchar(255),主键(id))

这是我的属性文件(我使用PostgreSql 9,库名employee_management_system):

spring.datasource.url=jdbc:postgresql://localhost:5434/employee_management_system
spring.datasource.username=postgres
spring.datasource.password=******

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQL92Dialect
spring.jpa.properties.hibernate.default_schema = public
spring.jpa.hibernate.ddl-auto = create
spring.jpa.show-sql = true

我不使用DOckerfile或docker compose。yml(我想我不需要这个步骤,因为我已经有了一个用于PostgreSql数据库的容器)。有什么想法吗?

共有1个答案

爱博达
2023-03-14

您的spring boot应用程序似乎可以访问您的数据库。否则,您将无法获得所放置的日志,并且在启动应用程序时会出现异常。

也许您必须检查连接到数据库的方式(标识符、模式等)?

 类似资料:
  • 我想用springboot项目生成MySQL数据库。我创建了一个maven项目,这是pom.xml:

  • 我试图从defiend JpaEntities更新数据库模式,但spring boot无法生成数据库表。日志文件: application.properties文件: 客户端实体类: pom.xml http://maven.apache.org/xsd/maven-4.0.0.xsd“>4.0.0 org.springframework.boot spring-boot-starter-pare

  • 看来PostgreSQL不允许创建名为'user'的数据库表。但MySQL将允许创建这样的表。 那是因为它是一个关键词吗?但是Hibernate无法识别任何问题(即使我们设置了PostgreSQL方言)。

  • 问题内容: PostgreSQL似乎不允许创建名为“ user”的数据库表。但是MySQL将允许创建这样的表。 那是因为这是一个关键词吗?但是Hibernate无法识别任何问题(即使我们设置了PostgreSQLDialect)。 问题答案: 是保留字,通常不建议使用保留字作为标识符(表,列)。 如果您坚持要这样做,则必须将表名放在双引号中: 但是,在引用表时,您 总是 需要使用双引号。此外,表名

  • 本文向大家介绍springboot+mybatis通过实体类自动生成数据库表的方法,包括了springboot+mybatis通过实体类自动生成数据库表的方法的使用技巧和注意事项,需要的朋友参考一下 前言 本章介绍使用mybatis结合mysql数据库自动根据实体类生成相关的数据库表。 首先引入相关的pom包我这里使用的是springboot2.1.8.RELEASE的版本 添加数据库配置文件ap

  • 我正在尝试从Spring Boot应用程序连接到mySQL数据库。然而,当我试图运行它时,它显示出错误。 我如何解决这个问题? 错误 从我的文件中添加代码片段 pom。xml 应用属性 堆栈跟踪 我还没有在sql中手动创建表,因为我认为spring.jpa.hibernate.ddl-Auto=date应该这样做