HSEARCH 700061:使用 Hibernate Search 索引枚举列表 6
HSEARCH 700061: Index a list of enums with Hibernate Search 6
我是 Hibernate Search 6 世界的新手,我想在我的实体中索引一个枚举列表,但不幸的是我得到了这个错误
HSEARCH700061: Unable to index-embed type '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
}
谁能帮帮我
@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)));
@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
}
我是 Hibernate Search 6 世界的新手,我想在我的实体中索引一个枚举列表,但不幸的是我得到了这个错误
HSEARCH700061: Unable to index-embed type '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
}
谁能帮帮我
@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)));
@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
}