我有一堆类将在我的JS前端和Spring MVC之间实例化并传递。
我正在使用Simple将我的对象序列化为持久存储的XML,并Jackson将其作为JSON传递给我的UI。因此,我需要有一个用于引用对象的ID属性,这需要在JSON,POJO和XML中保持一致。
这意味着我需要在我的Java类中使用ID属性。我应该将它声明为什么类型?我看到Simple library tutorial中使用的是int
,我也看到UUID
正在使用here。
Simple library创建id
和ref
属性(或您提供的任何其他属性)以维护引用:
<parent name="john" id="1">
<children>
<child id="2" name="tom">
<parent ref="1"/>
</child>
</children>
</parent>
随附的Java将其读回:
Strategy strategy = new CycleStrategy("id", "ref");
Serializer serializer = new Persister(strategy);
File source = new File("example.xml");
Parent parent = serializer.read(Parent.class, source);
id
不在原始Java对象中,因此不会将JSON传递给UI。我应该定义private UUID uid;
并传递它,同时也让Simple生成它使用的辅助id
和ref
属性,或者有没有办法使用单个Java attribue来同时执行这两个操作?
@Id
注释,但我找不到类似于Simple的东西。这会吗?
@Attribute
private int id;
问题是我需要实例化并将其作为JSON传递,但它也需要是唯一的(这意味着它更容易使用UID)。此外,简单地使用此id
作为其ref
?
编辑2:
使用id
作为属性,然后使用CycleStrategy使它使用您在类中定义的值,而不是它在ref
指向的XML中使用的内部值...我现在正在使用两个属性 - uuid
我在内部生成id
简单用法。