java - 我在通过 Hibernate Search 从数据库获取准确值时遇到问题

标签 java hibernate

我想通过 Hibernate 搜索进行搜索并获取表中的字段,这些字段等于搜索参数的值,这与它的搜索方式不同

我有一个要搜索的字段

@Field(name = "field", analyzer = @Analyzer(definition = "whitespaceAnalyzer"))
private String field;

我通过创建此查询来搜索它

queryBuilder.keyword().onField("field").matching("value").createQuery()

但它通过类似运算符搜索不等于 我知道如果我写

@Field(name = "field", analyzer = Analyze.NO)

它会起作用,但我想让 @Field 注释以这种方式并通过等于运算符搜索字段,在我的情况下我该怎么做。

最佳答案

您可以使用

javax.persistence.criteria.CriteriaBuilder

    CriteriaBuilder criteriaBuilder = entityDAO.getCriteriaBuilder();
    CriteriaQuery<?> criteriaQuery = criteriaBuilder.createQuery(Field_className.class);

    Root<Field_className> entity = criteriaQuery.from(Field_className.class);
    criteriaQuery.where(criteriaBuilder.equal(entity.get("field"),identifier));
    Field_className = (Field_className)entityDAO.createQuery(criteriaQuery).getSingleResult();

请注意将 Field_className 替换为您的类名

关于java - 我在通过 Hibernate Search 从数据库获取准确值时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58297850/

相关文章:

java - 组合盒,自动填充。 java

java hibernate 如何在以某种格式保存记录后更新值

java - 使用 hibernate 在 maven 项目中找不到 hibernate.properties

hibernate - 如何在可以为空的字段上创建条件?

java - 为什么需要用 Hibernate 单独保存所有 OneToMany 对象?

java - GWT 应用程序中的 Google Drive 文件共享弹出窗口

java - 如何从 JSONObject 填充字符串数组以在 ListView 中使用

java - corbaloc : URLs load balanced? 怎么样

spring - H2 JdbcSQL异常 : "Table not found" with camelcase table & entity name

java - 如何保护 Java 程序免受黑客攻击