开发者社区> 问答> 正文

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

想要通过Hibernate搜索得到表的字段,哪些字段等于搜索参数的值

我有一个搜索的域 @Field(name = "field", analyzer = @Analyzer(definition = "whitespaceAnalyzer")) private String field;

我通过创建这个查询来搜索它 queryBuilder.keyword () .onField(“场”).matching(“价值”).createQuery ()

@Field(name = "field", analyzer = analyzy . no)

它可以运行,但我想让@Field以这种方式注释,并通过相等运算符搜索字段,在我的例子中我怎么做呢。

展开
收起
小六码奴 2019-10-09 20:17:56 1667 0
1 条回答
写回答
取消 提交回答
  • 你可以利用

    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用你的className 替换

    2019-10-09 20:18:29
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据库2025 V3 立即下载
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载