当前位置: 首页 > 知识库问答 >
问题:

带有QuerydslBinderCustomizer的多个别名

颛孙和颂
2023-03-14

我在RestController中对一个实体使用QuerydslPredicate,它有一个date对象,我希望能够查询给定日期之前/之后/之间的日期,希望有类似的东西

    null
@Repository
public interface ProblemRepository extends JpaRepository<Problem, String>, QueryDslPredicateExecutor<Problem>,
        QuerydslBinderCustomizer<QProblem> {

            ....

    @Override
    default void customize(QuerydslBindings bindings, QProblem root) {
        bindings.bind(root.createdOn).as("createdOnAfter").first(TemporalExpression::after);
        bindings.bind(root.createdOn).as("createdOnBefore").first(TemporalExpression::before);
    }
}

共有1个答案

终彬郁
2023-03-14

为什么不使用QueryDSL谓词?你可以做:

@GetMapping("/problems")
@Timed
public ResponseEntity<List<ProblemDTO>> getAllProblems(
      @RequestParam(required = false) LocalDateTime createdOnAfter, 
      @RequestParam(required = false) LocalDateTime createdOnBefore,
      @ApiParam Pageable pageable) {
    BooleanBuilder where = new BooleanBuilder();
    if (startDate != null) {
        where = where.and(problem.createdOn.after(createdOnAfter));
    }
    if (endDate != null) {
        where = where.and(problem.createdOn.before(createdOnBefore));
    }
    Page<Donnee> page = problemRepository.findAll(where, pageable);
    return new ResponseEntity<>(problemMapper.toDTO(page.getContent())), null, HttpStatus.OK);
}

希望有帮助,问候

 类似资料:
  • 该查询返回一个“活动”数组,但“归档”数组仍然为空。 我已经尝试了切换(首先将存档别名,切换布尔值以确保我可以访问存档活动的数据等)。问题显然出在“存档”别名上。 当我对Strapi的GraphQL playground使用相同的查询时,我会得到所需的结果: ...返回... 如何使查询在Vue.js中与Apollo一起工作?

  • 问题内容: 我需要构建一个具有多个窗口的应用程序。在其中一个窗口中,我需要能够玩一个简单的游戏,而另一个窗口必须显示问题并获得影响游戏的用户的响应。 (1)我想使用pygame来制作游戏。有一种 简单的 方法可以让pygame在多个窗口中运行吗? (2)如果没有简单的方法可以解决(1),是否有一种简单的方法来使用其他一些Python GUI结构,从而允许我同时运行pygame和另一个窗口? 问题答

  • 我正在将代码从iText5迁移到iText7,目前我正在努力将一个签名添加到已经包含另一个签名的PDF中。这些签名是用我们的国民身份证(公民卡)进行的。 在iText5中,我使用了PdfStamper,但它在Itext7中丢失了... 这是我目前所掌握的: POReID(https://github.com/POReID/POReID)是用于与智能卡交互的库。 当第一次签署文件时,它工作得很好。再

  • 我现在一筹莫展。 请求代码收集在一个ArrayList中,这样当程序退出时,另一个函数可以清除所有警报。 现在的问题是:我的警报器打不响。我能够找到这个函数的错误。AlarmManager实例很好。我在底部设置了一个测试警报(在带有星号的行之后)。着火了。为什么???

  • 问题内容: 我正在尝试建立一个查询,该查询将找到所有用户文档(docType =用户),然后根据许多过滤器对其进行过滤。例如位置,性别,年龄等。过滤器是根据我正在构建的搜索功能上的用户输入来添加/删除的。 以下没有结果: 以下返回结果: 后者虽然返回结果,但从长远来看是行不通的,因为我可能想为年龄,性别等添加一个额外的过滤器,而且我似乎无法添加多个字段。如果我删除位置过滤器,则第一个查询有效。 问

  • 问题内容: 我的桌子上有40多个列,我还需要添加一些其他字段,例如当前的城市,家乡,学校,工作,大学,拼贴画。 对于作为共同朋友(与其他用户朋友一起加入朋友表以查看共同朋友)并且未被阻止并且还尚未与该用户成为朋友的许多匹配用户,将提取这些用户数据。 上面的请求有点复杂,所以我认为将额外的数据放在同一用户表中以进行快速访问是个好主意,而不是向该表中添加更多的联接,这将使查询速度变慢。但是我想得到你的