我已经构建了一个包含2个场景的小型JavaFX。用户可以输入3个字段(文本)并上传某个对象的文档。
所以我想在用户点击保存时创建了一个json对象并将其附加到Json对象列表中。然后将这些Json对象写入文件中。
这就是我的想法:
{
"objects": {
"object1": {
"field1": "foo"
"field2": "foo"
"field3": "foo"
"folderwithfileslocation": "C:/ProgramFiles/myapp/foobar/"
},
"object2": {
"field1": "foobar"
"field2": "foobar"
"field3": "foobar"
"folderwithfileslocation": "C:/ProgramFiles/myapp/barbar/"
},
.......
....
..
}
这些将在启动时读入对象,因此用户可以访问它们,因此他可以编辑,添加,删除等典型的CRUD。
这是正确的做法吗?将有最多500-600条记录。
我应该添加唯一ID(id randomUUID()
)吗?
由于
答案 0 :(得分:3)
大多数数据库模式都会将UUID添加为主键,但重要的是要了解原因 - 主键允许您查找特定文档。如果用户更新或删除特定文档,您将需要一种方法在数据库中查找该记录,以便您可以应用该操作。
如果其他列之一(可能是文件夹?)是唯一的(并且不可为空),这将在不添加UUID的情况下充当完美的PK本身。同样,如果对象始终作为列表读取,则可以将该列表中的索引用作PK,但这会对列表的排序做出一些假设。如果那些不能为你完成这项工作,那么添加PK可能是一个好主意,而UUID是一种非常好的方法。
就个人而言,我认为值得添加一个UUID进行单独调试。开销很小,对可追溯性有很大影响。