Jackson 为保存的引用生成 id

Jackson generate id for saved references

在我的项目中,一个 class 引用另一个 class。

使用 Jackson 保存这个 class 时,我想保留对另一个 class 的引用,它也被保存了。

为此,我在引用的 class 中有一个名为“id”的字段并使用此注释:

@JsonIdentityInfo(scope = ReferencedClass.class, generator = ObjectIdGenerators.PropertyGenerator.class, property="id")

在构造函数中传递 id 时这样做效果很好,但我正在创建未知数量的 ReferencedClasses。

有没有办法让 Jackson 自动生成 id?

我想知道参数generator = ObjectIdGenerators.PropertyGenerator.class是什么意思。

我在任何地方都找不到解决这个问题的方法。

我没有找到适合这种情况的解决方案,所以在我的主要保存对象中,我最终使用了以下代码:

@JsonProperty private long generatedId = 0;

public long generateId() {
    return generatedId++;
}