gpt4 book ai didi

java - Drools:如何在检查事实是否不存在于工作内存后插入事实

转载 作者:搜寻专家 更新时间:2023-11-01 03:30:29 24 4
gpt4 key购买 nike

我正在使用 drools 来验证一个对象。该对象还有一个 getChildrenList() 方法,该方法返回与该对象相关的子对象(主从关系)。

我对对象做了一些验证,然后我也想验证子对象,所以我使用以下规则将所有子对象也插入到工作内存中:

 rule "Insert Children"
when
$parent : Parent ( eval(childrenList != empty) )
$ch : Child() from $p.childrenList
then
insert($ch);
end

现在,如果子项已插入,我如何确保不会触发此规则。我的意思是因为我修改了一些事实,规则被重新触发。我怎样才能防止这种情况发生?

谢谢

最佳答案

您可以尝试将此行添加到 when 条件,但我怀疑这不是“正确”的习惯用法:

not( Child(this == $ch) )

关于java - Drools:如何在检查事实是否不存在于工作内存后插入事实,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1231071/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com