У меня есть объект с именем 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
, чтобы правильно индексировать значения ключевых слов?
*Bean
не является бобом. Это скорее объект-значение (*VO
). - person alexander   schedule 11.03.2015