我是Hibernate搜索6世界的新手,我想在我的实体中索引一个枚举列表,但不幸的是我得到了这个错误。
HSEARCH700061:无法索引嵌入类型com.Commons.enums.B
@Entity
@Indexed
public class A {
@IndexedEmbedded
@ElementCollection
@CollectionTable(name = "A_B", joinColumns = @JoinColumn(name = "A_ID"))
@Enumerated(EnumType.STRING)
private List<B> b;
}
public enum B {
TEST1,
TEST2,
TEST3
}有人能帮帮我吗?
发布于 2022-01-03 09:50:15
在您的情况下,@IndexedEmbedded没有意义,因为它应该嵌入来自目标类型的字段,而您的枚举类型不定义字段本身(例如,通过属性上的@FullTextField )。
您想要的只是在实体A中定义一个字段
@Entity
@Indexed
public class A {
@KeywordField // Replace @IndexedEmbedded with this
@ElementCollection
@CollectionTable(name = "A_B", joinColumns = @JoinColumn(name = "A_ID"))
@Enumerated(EnumType.STRING)
private List<B> b;
}
public enum B {
TEST1,
TEST2,
TEST3
}发布于 2021-12-17 09:59:22
@Entity
@Indexed
public class A {
@GenericField
@ElementCollection
@CollectionTable(name = "A_B", joinColumns = @JoinColumn(name = "A_ID"))
@Enumerated(EnumType.STRING)
private List<B> b;
}
public enum B {
TEST1,
TEST2,
TEST3
}b.should(f.match().field("b").matching(B.valueOf(keyWord)));
https://stackoverflow.com/questions/70391026
复制相似问题