我正在尝试索引已嵌入索引的对象中的字段,并且由于某种原因它没有更新。作为@IndexedEmbedded注释的部分,我有一个便捷的检索方法,但是我正在索引的其他属性似乎确实触发了更改。我不确定是否遗漏了一些东西。这是基本配置:

ClassA {

    List<ClassB> myList = new ArrayList<>();

    @IndexedEmbedded
    ClassB getNewestClassB() {
         //sort by creationDate and return last
    }
}

ClassB {

    @Field
    enum myEnum;

    @Field
    Boolean myBool; //Boolean to avoid null issues

    @ContainedIn
    ClassA

    boolean getMyBool() {
        if(myBool == null)
            return false;

        return myBool;
    }
}


如果我更新myEnum,它会更新索引,甚至实际上会修复看似丢失的myBool更新。我尝试注释字段本身和获取方法,以查看是否出于某种原因将null的可能性扔掉了,但这没有帮助。我也尝试在两者上都使用BooleanBridge,但也没有运气。

最佳答案

感谢@AndrewRobie,我们得以跟踪并修复该问题。

有关更多信息,请参见https://hibernate.atlassian.net/browse/HSEARCH-2486

该修复程序将成为我们下一个版本的一部分:5.5.6.Final和5.6.0.CR1。

09-30 15:21
查看更多