如何使用Hibernate-Search索引和搜索ENUM类型

亚历克斯·科内霍

我正在Spring,Jpa,Hibernate-Search,Lucene应用程序中工作。我想索引一个具有ENUM属性的JPA实体,并使用Lucene对此进行搜索。我的ENUM中的每个元素都有一个int值。

我在属性上放置了@Field批注,但无法正常工作。在数据库中,该字段被存储为整数。

@Field
@Enumerated
private STATUS status = STATUS.FIRST;

现在我想使用Lucene通过此字段进行搜索

//lucene query to search by that enum field 
queryStatus.should(queryBuilder.keyword().onField("status").matching(1).createQuery());

我无法将枚举存储更改为字符串类型,因为它有其他查询在起作用,并且将此枚举属性用作整数,并且我不知道如何索引和使用它。

亚历克斯·科内霍

实际上,我能够解决问题,当搜索而不是使用int值时,我将其转换为显式枚举。

queryStatus.should(queryBuilder.keyword().onField("status").matching(MyClass.STATUS.fromValue(status)).createQuery());

那解决了我的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何复制使用JPA和Hibernate INSERT / UPDATE / DELETE语句

如何删除与联接使用JPA和Hibernate实体

如何使用JPA和Hibernate使用映射为ORDINAL的Enum参数进行查询

如何使用Hibernate和Spring Boot启用批量插入

使用JPA和Hibernate时DISTINCT如何工作

如何使用JPA和Hibernate映射计算的属性

如何将Hibernate Search(Lucene)与分页和ACL结合使用

如何使用jpa / hibernate为实体映射字段定义索引?

如何使用Hibernate Lucene Search进行不区分大小写的挪威字符(Æ,Ø和Å)排序?

如何使用JPA和Hibernate修复StaleObjectStateException

如何在Hibernate中使用BLOB数据类型?

如何在JPA和Hibernate中使用Java 8 LocalDateTime

如何使用JHipster和Hibernate Envers

如何使用Hibernate for PostgreSQL创建索引

如何在Hibernate Search 3.0.0.ga中使用多个参数进行搜索

MySQL数据库中可搜索的userName列使用什么数据类型和索引?

如何在Hibernate Search中正确使用@ContainedIn批注?

如何在Hibernate Search中使用Wordnet同义词?

如何搜索索引和类型?

使用多个关键字进行Hibernate Search的索引搜索

如何使用JPA和Hibernate拆分只读和读写事务

如何使用Spring Batch和Hibernate从@JoinColumn获取值

Hibernate Search集群和近实时搜索

如何使用Hibernate和SOAP配置SpringMVC?

如何使用动态索引和类型将镶木地板文件写入弹性搜索

Hibernate Search:如何正确使用通配符?

如何使用 Spring + Hibernate + MySQL 实现搜索过滤器?

Hibernate 如何使用 InheritanceType.JOINED 区分对象类型

如何使用 Hibernate 映射集合 Map<String,List<String>> 类型