0
私はSpring Data JPAとHibernate Searchに基づいてアプリケーションを作成しました。インデックスに登録されたエンティティでは、エンティティに応じて余分なフィールドを追加するClassBridgeを作成しましたが、この余分なフィールドを取得する方法はわかりません。ここ@ClassbBridgeフィールド値を取得する
は私の実体である:
@Indexed
@ClassBridge(name="Image_url",
impl = ImageUrlClassBridge.class)
@Entity
@Table(name="PRODUCTS")
public class ProductModel {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Field([email protected](definition="ngram"))
private String name;
...
}
ここ
私classBridgeです:あなたはにフィールドを追加
@SuppressWarnings("unchecked")
public List<ProductModel> search(String keyword) {
FullTextEntityManager ftem = org.hibernate.search.jpa.Search.getFullTextEntityManager(entityManager);
QueryBuilder queryBuilder = ftem.getSearchFactory().buildQueryBuilder().forEntity(ProductModel.class).get();
Query query =queryBuilder.keyword().onField("name").matching(keyword).createQuery();
FullTextQuery jpaQuery =ftem.createFullTextQuery(query, ProductModel.class);
List<ProductModel> results = jpaQuery.getResultList();
return results;
}
私はそのフィールドで検索したくないですが、その値を取得したい –
答えを更新しました。 –
なぜこの例外は私にスローされますか: '未保存フィールドの投影:Image_url'。 ...私はindextionを行って、それはsuccesfuly完了したことに注意してください –