首页 > 解决方案 > 由于 lambda 表达式,无法模拟 panache 的 persistAndFlush()

问题描述

我将 Quarkus 与 hibernate-panache-orm 一起使用。下面是我的示例代码

Optional<OtherObject> opt = object.getList().stream().filter(predicate).findFirst();
if(opt.isPresent()){
    OtherObject obj = opt.get()
    obj.setVal("SomeVal");
    opt.persistAndFlush();
}

如果我将测试类的实际值传递object给主类,则opt.persistAndFlush()步骤将失败。否则不了解如何模拟.filter(predicate)步骤。请帮忙。提前致谢

标签: lambdamockitojunit5quarkusquarkus-panache

解决方案


我认为您的意图是更新对象。目前,您正在尝试保留不是实体且不能成为托管实体的 Optional。

在这种情况下,只需更改

opt.persistAndFlush();

obj.persistAndFlush();

推荐阅读