我正在尝试索引已嵌入索引的对象中的字段,并且由于某种原因它没有更新。作为@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。