Я пытаюсь использовать Hibernate Search на двух объектах, которые не имеют (и не должны) разделять отношение на уровне объекта, однако они связаны таблицей соединений, которая использует их идентификаторы. (Наследство)Индекс Объекты без прямого отношения в спящем режиме Поиск
Это более или менее двух лиц:
@Entity
@Indexed
class Person {
@Id
private long id;
@Field
private String name;
....
}
@Entity
@Indexed
class Address {
@Id
private long id;
@Field
private String street;
@Field
private String zip;
....
}
Они соединены своими идентификаторами:
@Entity
class Relation {
@Id
private long id;
private long personId;
private long addressId;
}
поставленной цели я пытаюсь добиться в поиске подобных лиц, которые поделитесь аналогичным адресом через Hibernate Search. Это означает, что я ищу атрибуты от Person и Address.
Я думаю, что самый простой способ - «эмулировать» отношение @IndexedEmbedded, что означает денормализацию данных и добавление «улицы» и «zip» из документа «Адрес в лицо». Я наткнулся на Hibernate Search Programmatic API, но я не уверен, что это правильный путь (и как туда поступить). Будет ли это правильным способом делать что-либо или я чего-то не хватает?