JpaRepository保存值始终返回null

时间:2019-12-17 20:17:32

标签: mysql spring-boot spring-data-jpa

我正尝试使用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";
    }

}

1 个答案:

答案 0 :(得分:0)

有些奇怪。您的id字段是一个字符串,但是在数据库中它是一个int(11)。它应该是varchar的变体。关于该用户,将其类型从int更改为Integer。一个int不能为null,因此它的值可能为0。

还尝试重新创建数据库模型,以便100%确保它与您的实体模型匹配。