【问题标题】:Error : Unique index or primary key violation in Spring Boot with the usage of Graphql?错误:Spring Boot 中使用 Graphql 的唯一索引或主键违规?
【发布时间】:2021-08-16 21:23:00
【问题描述】:

我已经实现了一个在 Spring Boot 中使用 Graphql 的示例。 当我为 mutationquery variables 部分编写基本代码 sn-ps 时出现错误。

这是我的网址:http://localhost:8081/graphql 这是我的方法类型:POST

这是我的mutation sn-p,如下所示。

mutation newHospital($hospitalInput: HospitalInput!) {
  newHospital(hospital: $hospitalInput){
    name
  }
}

这是我的查询变量 sn-p,如下所示。

{
  "hospitalInput": {
    "name": "Hospital 6"
  }
}

这是我的错误,如下所示。

org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException: Unique index or primary key violation

这是我的项目文件:Project Link

我该如何解决?

【问题讨论】:

    标签: java spring-boot graphql


    【解决方案1】:

    您正在使用@GeneratedValue,但未指定具体策略。这将解析为@GeneratedValue(strategy=GenerationType.AUTO)

    来自您的代码

     @Id
     @GeneratedValue
     @EqualsAndHashCode.Include
     private Integer id;
    

    尝试使用@GeneratedValue(strategy=GenerationType.IDENTITY)

    IDENTITY 表示持久化提供者必须分配主要的 使用数据库标识列的实体的键。 AUTO 表示 持久性提供者应该选择一个合适的策略 特定的数据库。 AUTO生成策略可能 期望数据库资源存在,或者它可能会尝试创建一个。 供应商可以提供有关如何在 它不支持模式生成或无法创建的事件 运行时的架构资源。

    【讨论】:

    猜你喜欢
    • 2017-04-28
    • 2022-06-13
    • 2021-05-19
    • 2014-12-27
    • 2019-09-28
    • 2019-12-24
    • 1970-01-01
    • 2015-11-03
    • 2019-02-09
    相关资源
    最近更新 更多