OneToMany字段上的java Hibernate搜索不起作用
以下是我的位置和分类课程:
@Entity
@Indexed
@AnalyzerDef(name = "placeAnalyzer", ...)
public class Place
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(nullable = false, updatable = false)
private Long id;
@Column(length = 100, nullable = false)
@Field
@Analyzer(definition = "placeAnalyzer")
private String name;
@OneToMany(mappedBy = "place", fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
@IndexedEmbedded
private Set<Category> categories;
...
}
@Entity
@Indexed
public class Category
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(nullable = false, updatable = false)
private Long id;
@Column(nullable = true)
@Field
@Analyzer(definition="placeAnalyzer")
private String name;
@ContainedIn
@ManyToOne
@JoinColumn(name="place_id")
private Place place;
}
以下是我创建查询的方式:
Query searchStringQuery = queryBuilder.keyword()
.onFields("name", "location.city", "location.address", "categories.name")
.matching(TextUtils.stripAccents(searchString))
.createQuery();
然而,当我搜索某些文本时,搜索不会返回结果,这些文本包含在类别表名称字段中。它适用于查询中使用的其他字段。这里怎么了
共 (0) 个答案