我正在使用JPA Converter批注将少量字段存储为JSON,Hibernate Search是否提供对这些字段进行索引/搜索的支持?
答案 0 :(得分:1)
Hibernate Search看不到属性的“已转换”部分(在本例中为JSON)。
如果您有这个:
@Convert(class = MyJsonConverter.class)
private MyObject myObject;
然后所有Hibernate Search将看到的是MyObject
的实例。您可以像使用其他任何属性一样使用@Field
或@IndexedEmbedded
。
答案 1 :(得分:0)
A B C
NA 2 3
1 2 3
例如,如果将对象转换为String。您可以在CriteriaBuilder中使用类似的功能
@Column(name="address")
@Convert(class = AddressConverter.class)
private Address fieldAddress;
如果使用Spring Data JPA,则使用@Query
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<SomeObject> query = cb.createQuery(SomeObject.class);
Root<SomeObject> from = query.from(SomeObject.class);
query.select(from).where(cb.equal(root.get("fieldAddress").as(String.class), "address in string"));
P.S。如果您使用元模型,并且应该保存一致的查询(请查看文档Hibernate JPA static metamodel generator),则看起来
@Query(select * from SOME_TABLE where ADDRESS = ?1, nativeQuery = true)
List<SomeObject> findAllByMyObj(String address);