jpa条件表达式Expressions.booleanTemplate和JPAExpressions

if (queryRO.getSpecialQuery().equals("1")) {
builder.and(Expressions.booleanTemplate("{0} - 15 > {1}", qAbroadRegistrationInfo.endDate, qAbroadRegistrationInfo.beginDate));

} else if (queryRO.getSpecialQuery().equals("2")) {
builder.and(Expressions.booleanTemplate("{0} - 15 > {1}", qAbroadRegistrationInfo.beginDate, new Date()));
} else if (queryRO.getSpecialQuery().equals("3")) {
builder.and(Expressions.booleanTemplate("{0} - 15 > {1}", qAbroadRegistrationInfo.endDate, qAbroadRegistrationInfo.beginDate)
.or(Expressions.booleanTemplate("{0} - 15 > {1}", qAbroadRegistrationInfo.beginDate, new Date())));
//builder.and(Expressions.booleanTemplate("{0} - 15 > {1}", qAbroadRegistrationInfo.beginDate, new Date()));
}


List<String> crApStaIdList = queryFactory.select(a.crApStaId)
.from(a)
.where(a.maCrInfoId.eq(maCrInfoId).and(a.state.eq(CrApUseCredentialsEnum.STATE.audit_agree.code))
.and(a.crApStaId.notIn(
JPAExpressions.select(b.crApStaId).from(b).where(b.maCrInfoId.eq(maCrInfoId))
)))
.fetch();
posted @ 2022-02-21 11:13  Ryan_Gao  阅读(659)  评论(0编辑  收藏  举报