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

如何让spring jpa自动创建关系/表?

汤嘉平
2023-03-14

我正在尝试让Spring为我的实体类生成表。我不确定我错过了什么,这是我第一次使用容器化DB。

下面是我的application.yml文件:

spring.datasource:
  url: jdbc:postgresql://localhost:8300/fishgame
  username: admin
  password: admin
  driver-class-name: org.postgresql.Driver
jpa:
  show-sql: true
  hibernate:
    ddl-auto: create
  generate-ddl: true
  database-platform: org.hibernate.dialect.PostgreSQLDialect
version: "3.8"
services:
  database:
    image: "postgres:13"
    ports:
    - "8300:5432"
    volumes:
      - /tmp/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=admin
      - POSTGRES_USER=admin
      - POSTGRES_DB=fishgame
@Data
@Entity
@Builder
@Table(name = "fishes")
@NoArgsConstructor
@AllArgsConstructor
public class Fish  extends BaseEntity {

    private Species species;
    /**
     * Pixel percentage / second ?
     */
    private double speed;
    @Embedded
    private Position position;

}

路径为[]的上下文中servlet[dispatcherServlet]的servlet.Service()引发异常[请求处理失败;嵌套异常为org.SpringFramework.dao.InvalidDataAccessResourceUsageException:无法执行语句;SQL[N/A];嵌套异常为org.Hibernate.exception.SqlGramMareXception:无法执行语句],其根本原因为:“请求处理失败;嵌套异常为org.SpringFramework.dao.InvalidDataAccessResourceUsageException:无法执行语句

共有1个答案

姬银龙
2023-03-14

解决这个问题的方法由Susan Mustafa指出,它是正确地格式化yml文件,更多的细节请查看注释。

 类似资料:
  • 问题内容: 在课堂上,我们都是“学习”数据库,每个人都在使用Access。厌倦了这一点,我试图做该类其余部分的工作,但是要使用MySQL的原始SQL命令而不是使用Access。 我已经设法创建数据库和表,但是现在如何在两个表之间建立关系? 如果我有两个这样的表: 和 如何在两个表之间创建“关系”?我希望为每个帐户“分配”一个customer_id(以指示谁拥有它)。 问题答案: 如果表是innod

  • 问题内容: 如何创建像http://user.mywebsite.com这样的子域?我是否必须以某种方式访问​​htaccess?是否真的可以通过纯PHP代码创建它,或者我需要使用一些外部脚本服务器端语言? 对于那些回答的人:那么,我是否应该问我的托管服务商他们是否提供某种类型的DNS访问? 问题答案: 您要创建自定义 A记录 。 我很确定您可以在指定A记录时使用通配符,从而使您可以执行以下操作:

  • 我正在使用Spring MVC/Security/JPA/Hibernate开发一个web应用程序。 我有一个用户类,它与UserRole有一个omany关系。 UserRole类与用户之间有很多关系。 用户存储库界面非常简单。 当我使用下面的代码片段使用存储库加载用户信息时,它会很好地检索用户和用户角色数据。 这是日志文件。 然而,问题出在这里。 如果我使用UserRepository的save

  • 我尝试用Spring Boot Jpa自动创建表,但它不起作用,它不执行任何sql查询。我怀疑这是由于一个人或多个人的关系。我查了一下网站,但没能找到一个有类似问题的问题。Spring不执行任何查询和创建任何表。 用户可以创建很多帖子,每个帖子都有很多评论等等。 post.java 注释.java topic.java 我错在哪里?谢谢你!

  • 主要内容:为什么要创建表关系?在本章中,我们将理解以及为什么在相关表之间建立关系。良好数据库设计的目标之一是消除数据冗余。 为了实现这个目标,数据划分成许多基于主题的表,这样每个实际数据只被表示一次。 要做到这一点,所有相关的共同字段都放在一个表中。 要正确执行此步骤,必须首先了解表之间的关系,然后在Access数据库中指定这些关系。 为什么要创建表关系? 当您需要在数据库对象中使用它们时,MS Access使用表关系来连接表

  • 我正在使用ERBuilder数据建模器,我创建了具有主键的表,并且创建了表之间的关系。但是我遇到的问题是,我找不到如何创建指向同一表的外键关系(自反关系)。