开发者社区> 问答> 正文

我在通过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 1682 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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载