我有一个Spring MVC / Spring数据/ Mongo DB应用程序。 根据Spring数据文档和我的存储库工作正常(我可以执行谓词的查询),我已经解决了我的环境(我可以执行谓词)

我想知道是否有可能在制作投影的同时执行类型安全查询(使用Spring Data和QueryDSL)(我只想要一个非常大的文档的几个字段)。

querydsl文档给出了Hibernate的示例,但状态可以在所有模块 querydsl文档(但我没有能够找到与mongo一起做的)

这是hibernate的代码片段

class CustomerDTO {

  @QueryProjection
  public CustomerDTO(long id, String name){
     ...
 }

 QCustomer customer = QCustomer.customer;
 JPQLQuery query = new HibernateQuery(session);
 List<CustomerDTO> dtos = qry.from(customer).list(new QCustomerDTO(customer.id,    customer.name));     
.

任何想法?

有帮助吗?

解决方案

目前不受支持。随意添加它的票证进入我们的问题跟踪器

QueryDSL的Lucene和MongoDB模块仅支持查询根目录的直接投影,但是对于自定义预测可以弄清楚。

其他提示

我刚刚建造了这样的投影:

Criteria c1 = Criteria.where("field.name").is("val")
Criteria projection = Criteria.where("field").is(1)
BasicQuery query = new BasicQuery(c1.getCriteriaObject(), projection.getCriteriaObject())
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top