querydsl - BooleanExpression 如果存在 querydsl
问题描述
在不同的场景中如何检查是真/假?
BooleanExpression exists = JPAexpression.selectOne().from(qUserJob)
.where(qUserJob.user.eq(user),
qUserJob.job.eq(job)).exists();
是否可以将 BooleanExpression 转换为布尔值以便在 if 语句中使用它?
像这样:
if(exists){
dosomeLogic();
}
解决方案
exists()
用于渲染EXISTS (subquery)
表达式。如果你想要一个布尔结果,你应该让最外面的查询返回任何结果并相应地处理结果,例如:
boolean exists = query()
.select(qUserJob)
.from(qUserJob)
.where(qUserJob.user.eq(user), qUserJob.job.eq(job))
.fetchCount() > 0;
推荐阅读
- r - 如何自动将列的值填充到新的数据框中?
- python - 没有 compat.v1 的 tensorflow gpu 使用
- java - Firebase:更新整数值
- r - 尝试从 URL 下载 ZIP 文件时出错
- typescript - 从多重签名函数中选择一个特定的签名
- python-3.x - 在写入csv时仅终止每行的一列
- vb.net - 如何为我的项目(VB.Net)中的所有水晶报表设置全局连接字符串
- r - How do I read data with special characters (e.g. "¼") from SQL
- api - 如何使用 Telethon 在电报中管理给不同用户的消息?
- javascript - 递归:返回与布尔退出