Java 如何在集合中为rebase方法映射planningId注释?

Java 如何在集合中为rebase方法映射planningId注释?,java,multithreading,rebase,optaplanner,Java,Multithreading,Rebase,Optaplanner,对于多线程解决,我尝试在Identification字段或getter方法上映射planningId 在我们的模型中,一些规划实体拥有其他规划实体或问题事实的集合 公共类用户{ @PlanningId private String username; ... } 公共类云计算机{ @PlanningId private Long id; //Considering all conditions, possible user changes all over time //It works

对于多线程解决,我尝试在Identification字段或getter方法上映射planningId

在我们的模型中,一些规划实体拥有其他规划实体或问题事实的集合

公共类用户{

@PlanningId
private String username;

...
}
公共类云计算机{

@PlanningId
private Long id;
//Considering all conditions, possible user changes all over time 
//It works well in single thrad, but it does not work in multithread.
private List<User> subtitueUsers = new ArrayList<>();

...

}
@PlanningId
私人长id;
//考虑到所有条件,可能的用户会随时间变化
//它在单thrad中运行良好,但在多线程中不起作用。
private List SubtituteUsers=new ArrayList();
...
}
在重设基础方法中, 我比较了计算机课

ColudComputer的内存地址因线程而异

但是子节点用户在该解决方案和目标解决方案之间具有相同的内存地址

有时,SubtiteUsers包含在该解决方案和目标解决方案之间具有相同内存地址的用户类

有没有办法深度克隆云计算机,包括子用户? 或者其他任何绕道这个问题的方法?

要进行深度克隆,请在
子主题用户
成员(字段或getter)上使用
@DeepPlanningClone

或者,也可以在
用户
类上使用
@DeepPlanningClone
。是的,这实际上更好

(不需要两者都做。)