从父模型继承时java 8 UUID不匹配



在父JAVA模型中,由于有多个项目,我正在循环中生成这样的UUID:

@PostConstruct
protected void init() {
list = IntStream.range(0, items)
.boxed()
.map(idx -> "item" + idx)
.collect(Collectors.toList());
this.id = UUID.randomUUID().toString();
}

在子模型中,我想为每次迭代继承这个id。我使用了以下资源调整:

Resource parentResource = resource.getParent();
ParentClass parentClass = parentResource.adaptTo(parentClass.class);
parentId = parentClass.getId();

问题是,子级继承生成的下一个UUID!如何将一个UUID从父级持久化到子级,然后在下一次迭代中进行更改?

这是预期行为,因为您正在调用子级中的parentResource.adaptTo方法,这将再次触发父级的@PostConstruct方法。

您可以做的是将UUID作为属性持久化/保存在特定资源的CRX/de数据库中。

您可以考虑的另一种方法是通过请求将数据从父模型发送到子模型,即request.setAttribute(...)

最新更新