5

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

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

QueryDSL 文档为 Hibernate 提供了一个示例,但声明它可以在所有模块QueryDSL 文档中完成(但我无法找到如何使用 Mongo 来完成)

这是休眠的代码片段

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));     

有任何想法吗 ?

4

2 回答 2

2

目前不支持此功能。随意将它的票添加到我们的问题跟踪器中。

Querydsl 的 Lucene 和 Mongodb 模块仅支持来自查询根的直接投影,但对于自定义投影,可以计算出一些东西。

于 2012-07-27T14:59:09.933 回答
0

我刚刚建立了一个这样的投影:

Criteria c1 = Criteria.where("field.name").is("val")
Criteria projection = Criteria.where("field").is(1)
BasicQuery query = new BasicQuery(c1.getCriteriaObject(), projection.getCriteriaObject())
于 2013-08-29T19:09:18.167 回答