【问题标题】:Projecting multiple fields to a POJO将多个字段投影到 POJO
【发布时间】:2021-02-16 15:38:30
【问题描述】:

hibernate-search 6 中有没有办法投影多个字段并将它们直接映射到 POJO 对象,或者我应该自己处理。我不确定我是否理解文档中描述的复合方法。例如我可以这样做:

SearchResult<List<?>> result = searchSession.search(indicies)
.select(f -> f.composite(f.field("field1"), f.field("field2"), f.field("field3"),f.field("field4")))
.where(SearchPredicateFactory::matchAll)
.fetch(20)

然后我可以手动将返回的字段列表映射到 POJO。但是有没有更花哨的方法来做到这一点,而无需手动循环遍历字段列表并将它们设置为 POJO 实例?

【问题讨论】:

    标签: hibernate-search hibernate-search-6


    【解决方案1】:

    目前投影到 POJO 仅适用于相当简单的 POJO,最多具有三个字段,使用语法 shown in the documentation。对于更多字段,您必须通过List

    如果您使用的是 Elasticsearch 后端,理论上可以retrieve the document as a JsonObject 然后使用 Gson 将其映射到 POJO。

    plans to offer more fancy solutions,但我们还没有。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 2013-05-19
      • 2021-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      相关资源
      最近更新 更多