我想要做的是使用自动生成的id添加(POST)资源。 我添加了注释,我的模型看起来像这样
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String brand;
问题就是为什么当我在没有id的情况下POST一些值时,例如:
{
"brand": "sony"
}
我自动获取id = 0:
{
"id": 0,
"brand": "sony"
}
如果我在没有调用id的情况下发布更多资源,那么他们都有id = 0(所以它不是唯一的)。
我做错了什么?
答案 0 :(得分:1)
我自动获取id = 0:
这是因为您使用的是primitive data type long
,其默认值为0
。
如果没有明确指定,这些字段的序列化 - 反序列化将最终附加原始数据类型的默认值。
如果您在没有设置值时需要排除此类字段,则可能打算使用Long
(引用类型)。