Я пытаюсь сделать индекс поиска Hibernate следующим соотношением:
DocVersion * <-> Document2 -> DocType
@Indexed
@Entity
public class Document2 implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doc_uuid")
private long id;
@IndexedEmbedded
@ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
@JoinColumn(name = "documentType")
private DocType docType;
}
@Indexed
@Entity
public class DocType implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doctype_id")
private long id;
@Field
@Column(name = "documentType")
private String documentType;
}
, поэтому это однонаправленное отношение @ManyToOne
из класса Document2потому что DocType
только кодируемый.
Однако мне нужно запросить индекс на основе свойства cdt, например document2.docType.documentType
, что дает мне:
WARNING: org.hibernate.search.exception.SearchException: Unable to find field document2.docType.documentType in com.nws.vedica.model.entity.DocVersion
что мне не хватает?
hibernate-search: 5.9.3.Final