У меня есть объект с именем MyItemBean
, который может иметь 0 или более связанных KeywordBean
объектов.Результирующие классы выглядят так:
@Entity
public class MyItemBean {
...stuff...
@ManyToMany(targetEntity = KeywordBean.class, cascade = CascadeType.PERSIST)
@JoinTable(name = "tbl_item_keyword", joinColumns = @JoinColumn(name = "item_id"), inverseJoinColumns = @JoinColumn(name = "keyword_id"))
private List<KeywordBean> keywords = null;
...more stuff...
}
@Entity
public class KeywordBean {
...stuff...
private String value=null;
...more stuff...
}
Я использую JBoss Seam / Hibernate Search для индексации этих объектов, чтобы я мог выполнять поисковые запросы к ним.Я хотел бы иметь возможность искать MyItemBean
экземпляров с заданным значением ключевого слова.Это отношение, однако, является однонаправленным, потому что я применяю KeywordBean
объекты не только к MyItemBean
.Я посмотрел в документации Hibernate Search примеры того, как индексировать отношения, но все примеры, которые они предоставляют, являются двунаправленными.Может кто-нибудь сказать мне, какие аннотации мне нужно применить к MyItemBean.keywords
, чтобы правильно проиндексировать значения ключевых слов?