java - 字段 'user_id' 没有默认值,但设置为 auto_increment
问题描述
所以我正在尝试构建一个膳食计划程序,但是当我尝试提交用户名时,它给了我标题中显示的错误。我已经尝试向我的类添加额外的映射,我为 User 类创建了一个新的存储库,但我不确定为什么程序没有像它应该的那样自动增加 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>{
}
以及我的控制器类中的相关方法:
@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";
}
我一定在某个地方遗漏了一些东西,但我没有想法。
解决方案
我不确定这是否区分大小写,但 User 类中的注释 @Column('user_ID') 与 SQL 查询中的列名 'user_id' 不匹配。
推荐阅读
- google-bigquery - BigQuery:查询执行期间资源超出。无需任何昂贵的操作
- c# - 从另一个 ViewModel 更改 ViewModel 的属性
- c - 我正在尝试理解 K&R 的练习 1-21
- c++ - c++:需要正确的语法以避免 MISRA 14-6-1 警告。具有依赖基类的类模板
- java - 如何使用 Elasticsearch RestHighLevelClient 添加查询参数?
- .htaccess - 使用 RedirectMatch 使用通配符重定向更改目录不起作用
- r - ggplot:在具有不同类别组合的图中使用相同的形状/颜色
- css - Bootstrap:如何处理 iMac 与典型笔记本电脑尺寸?
- java - 扩展 AppCompatButton 的自定义按钮
- html - CSS菜单在打开时覆盖其他内容