java.sql.SQLSyntaxErrorException:表“demo.coupon_seq”不存在

问题描述 投票:0回答:1

我正在尝试开发一个简单的 Spring Boot 应用程序来管理优惠券、创建和读取优惠券。应用程序启动时运行没有问题。

但是,在通过 Postman 发送 POST 请求时,我在应用程序中遇到以下错误:

java.sql.SQLSyntaxErrorException: Table 'demo.coupon_seq' doesn't exist
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) ~[mysql-connector-j-8.3.0.jar:8.3.0]

错误地说“demo.coupon_seq”不存在,但我创建了“coupon”类,我不知道为什么它正在寻找 coupon_seq ?

任何人都可以调查这个问题并提供解决方案吗

模型/实体类:

@Entity
@Table(name = "coupon")
public class Coupon {

    @Id
    @GeneratedValue (strategy = GenerationType.AUTO)
    private int id;
    private String couponname;
    private int discount;
    @Column(name = "expdata")
    private String expdate;

}

控制器类:

@RestController
@RequestMapping("/coupon")
public class CouponController {

    @Autowired
    CouponRepository repository;

    @PostMapping(value = "/createCoupon")
    public Coupon addCoupon(Coupon coupon) {
        return repository.save(coupon);
    }

}

application.properties 文件:

spring.application.name=springcloud

spring.datasource.url=jdbc:mysql://localhost:3306/demo
spring.datasource.username=root
spring.datasource.password=Passw0rd123

spring.jpa.show-sql=true

SQL 查询

create database demo;
use demo;

create table coupon (
id int auto_increment,
couponname varchar(20),
discount int,
expdata varchar(10),
primary key(id)
);

drop table coupon;
select *from coupon;

邮递员:

在此输入图片描述

................................................ ...................................................... ...................................................... ......................

java spring spring-boot spring-data-jpa mysql-workbench
1个回答
0
投票

尝试使用

@GeneratedValue (strategy = GenerationType.IDENTITY)

而不是

@GeneratedValue (strategy = GenerationType.AUTO)
© www.soinside.com 2019 - 2024. All rights reserved.