【问题标题】:BooleanExpression if exists querydslBooleanExpression 如果存在 querydsl
【发布时间】:2021-09-21 19:48:17
【问题描述】:

如何在不同的场景中检查是真/假?

BooleanExpression exists = JPAexpression.selectOne().from(qUserJob)
.where(qUserJob.user.eq(user),
qUserJob.job.eq(job)).exists();

是否可以将 BooleanExpression 转换为布尔值以便在 if 语句中使用它?

像这样:

if(exists){
dosomeLogic();
}

【问题讨论】:

    标签: querydsl


    【解决方案1】:

    exists() 用于渲染EXISTS (subquery) 表达式。如果你想要一个布尔结果,你应该让最外面的查询返回任何结果并相应地处理结果,例如:

    boolean exists = query()
        .select(qUserJob)
        .from(qUserJob)
        .where(qUserJob.user.eq(user), qUserJob.job.eq(job))
        .fetchCount() > 0;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-26
      • 2012-08-30
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      相关资源
      最近更新 更多