我有一个queryDsl booleanbuilder查询,因为很多的,如果在我的代码:QueryDsql生成一个查询没有booleanbuilder
private Page<QA> query(Pageable pageable, QAFilter filter) {
QA qa = QA.a;
BooleanBuilder bb = new BooleanBuilder();
if (StringUtils.qaNotBlank(filter.getParam())) {
bb.and(likePredicate(qa.param, filter.getCode()));
}
if (StringUtils.qaNotBlank(filter.get2param())) {
bb.and(qa.locationCode.eq(filter.2param()));
}
if (sth == true) {
bb.or(qa.joinedObject.any().field.eq(filter.param));
}
return repo.findAll(bb.getValue(), pageable);
}
如果优秀作品,除非“某事”是假的。 当它为true时,booleanbuilder将创建一个子查询,用于检查2个表中花费2分钟的所有行。 我写了我自己的SQL,它伪造了一秒钟。所以我的问题是如何实现我的SQL到HQL/DSL的Querty /等。所以如果检查我的是否并添加参数查询。 像:
private Page<QA> query(Pageable pageable, QAFilter filter) {
QA qa = QA.a;
JPAQuery query = new JPAQuesry();
query.leftjoin(myobiects);
if (StringUtils.qaNotBlank(filter.getParam())) {
query.where(likePredicate(qa.param, filter.getCode()));
}
if (StringUtils.qaNotBlank(filter.get2param())) {
query.where(qa.locationCode.eq(filter.2param()));
}
if (sth == true) {
query.where(qa.joinedObject.any().field.eq(filter.param));
}
return repo.findInDB(query, pageable);
}
现在如何与Connet的物体或,等