Hibernate Search是否在使用JPA Converter注释的字段上工作

时间:2019-03-25 03:09:40

标签: hibernate-search

我正在使用JPA Converter批注将少量字段存储为JSON,Hibernate Search是否提供对这些字段进行索引/搜索的支持?

2 个答案:

答案 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);