休眠搜索@ContainedIn 不适用于布尔字段
hibernate search @ContainedIn not working on boolean fields
我正在尝试为 indexedembedded 对象中的字段编制索引,但由于某种原因它没有更新。我有一个方便的检索方法作为用@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 更新。我尝试对字段本身和 getter 进行注释,以查看是否由于某种原因 null 的可能性将其丢弃,但这没有帮助。我也尝试在两者上都使用 BooleanBridge,但也不走运。
感谢@AndrewRobie,我们能够跟踪并修复问题。
有关它的详细信息,请参阅 https://hibernate.atlassian.net/browse/HSEARCH-2486。
此修复将包含在我们的下一个版本中:5.5.6.Final 和 5.6.0.CR1.
我正在尝试为 indexedembedded 对象中的字段编制索引,但由于某种原因它没有更新。我有一个方便的检索方法作为用@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 更新。我尝试对字段本身和 getter 进行注释,以查看是否由于某种原因 null 的可能性将其丢弃,但这没有帮助。我也尝试在两者上都使用 BooleanBridge,但也不走运。
感谢@AndrewRobie,我们能够跟踪并修复问题。
有关它的详细信息,请参阅 https://hibernate.atlassian.net/browse/HSEARCH-2486。
此修复将包含在我们的下一个版本中:5.5.6.Final 和 5.6.0.CR1.