I have two different entities in a table, pdfField, and formField. I'd want to build a search that returns the formField if we enter in pdfField.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
@Column(name = "pdf_field")
private String pdfField;
@Column(name = "form_field")
private String formField;
This is the function I've created, but I'm not sure how to make the string return type.
public String getPdfFormFieldByPdfField(String PdfField) throws InterruptedException {
Session session = sessionFactory.openSession();
EntityManager entityManager = session.getEntityManagerFactory().createEntityManager();
FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(entityManager);
fullTextEntityManager.createIndexer().startAndWait();
QueryBuilder queryBuilder = fullTextEntityManager.getSearchFactory().buildQueryBuilder().forEntity(PdfMap.class).get();
org.apache.lucene.search.Query wildcardQuery = queryBuilder
.keyword()
.wildcard()
.onField("pdf_field") // name of the field in database
.matching(PdfField)
.createQuery();
String formField = ( how to get the result);
return formField;
}