Java 字段';用户id';不';没有默认值,但设置为自动增量

Java 字段';用户id';不';没有默认值,但设置为自动增量,java,mysql,sql,spring,spring-boot,Java,Mysql,Sql,Spring,Spring Boot,因此,我试图构建一个膳食计划程序,但当我尝试提交用户名时,它会在标题中显示错误。我已经尝试向我的类添加额外的映射,我为用户类创建了一个新的repo,我不确定为什么程序没有像它应该的那样自动递增User_ID值 下面是我的mySQL表: CREATE TABLE `user_table` ( `user_id` int NOT NULL AUTO_INCREMENT, `user_name` varchar(30), PRIMARY KEY (`user_id`) ) ENGINE=I

因此,我试图构建一个膳食计划程序,但当我尝试提交用户名时,它会在标题中显示错误。我已经尝试向我的类添加额外的映射,我为用户类创建了一个新的repo,我不确定为什么程序没有像它应该的那样自动递增User_ID值

下面是我的mySQL表:

CREATE TABLE `user_table` (
  `user_id` int NOT NULL AUTO_INCREMENT,
  `user_name` varchar(30),
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
以下是用户类:

@Entity
@Table(name="user_table")
public class User {

    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    @Column(name="user_ID")
    private int userID;

    @Column(name="user_name")
    private String userName;

    public User() {
        super();

        // TODO Auto-generated constructor stub
    }

    public User(int userID, String userName) {
        super();
        this.userID = userID;
        this.userName = userName;
    }

    public int getUserID() {
        return userID;
    }
    public void setUserID(int userID) {
        this.userID = userID;
    }
    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    @Override
    public String toString() {

        return "User [userID=" + userID + ", userName=" + userName + "]";
    }
}
用户类附加到的repo:

@Repository
public interface MealPlannerRepositoryUser extends JpaRepository<User, Long>{

}

我肯定在什么地方遗漏了什么,但我没有主意。

我不确定这是否区分大小写,但用户类中的注释@Column('user\u ID')与SQL查询中的列名'user\u ID'不匹配。

实体类中的user\u ID与列名user\u ID不匹配,实体类user_id的变化

很遗憾,它是否大写并不重要。SQL不区分大小写,因此它应该以任何方式读取。查询可以不区分大小写,但ORM框架可以区分大小写。尝试在实体类中匹配案例,看看是否有效。找到答案了吗?
    @Autowired
    MealPlannerRepository repo;

    @Autowired
    MealPlannerRepositoryUser userRepo;

    @GetMapping("/inputUser")
    public String addNewUser(Model model) {
        User u = new User();
        Meal m = new Meal();
        model.addAttribute("newUser", u);
        model.addAttribute("newMeal", m);
        return "inputUser";
    }

    @PostMapping("/inputUser")
    public String addNewUser(@ModelAttribute User u, Meal m, Model model) {
        userRepo.save(u);
        repo.save(m);
        model.addAttribute("newUser", repo.findAll());
        model.addAttribute("newMeal", repo.findAll());
        return "results";
    }