我正尝试使用JpaRepository以及spring boot和mysql进行发布
我有一张看起来像这样的桌子
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | varchar(255) | NO | PRI | NULL | |
| user | int(11) | NO | | NULL | |
+----------+--------------+------+-----+---------+----------------+
无论我传递什么值,只要我尝试保存数据,列用户就始终为0。
我的模型类如下
@Entity
@Table(name = "cart")
public class Cart {
@Id
@Column(name = "id", unique = true, nullable = false)
private String id;
@Column(name = "user")
private Integer user;
// getters and setters
}
存储库看起来像这样
@Repository
public interface CartRepository extends JpaRepository<Cart, String> {
}
控制器看起来像这样
@RequestMapping("/api/v1/cart")
@RestController
public class CartController {
@Autowired
CartRepository cartRepository;
@PostMapping(value = "/postCart")
public String postCart(@RequestBody Cart cart){
cartRepository.save(cart);
return "Success";
}
}
答案 0 :(得分:0)
有些奇怪。您的id字段是一个字符串,但是在数据库中它是一个int(11)。它应该是varchar的变体。关于该用户,将其类型从int更改为Integer。一个int不能为null,因此它的值可能为0。
还尝试重新创建数据库模型,以便100%确保它与您的实体模型匹配。