我一直在寻找文档的一些时间,并尝试了几件事,但我无法动态添加querydsl的where子句:
伪代码,我需要像"if"这样的东西:
boolean addWhereClause = false;
QAddress address = QAddress.address;
JPQLQuery query = new JPAQuery(getEntityManager());
query.from(address)
.if(addWhereClause).where(address.company.isNotNull())
Run Code Online (Sandbox Code Playgroud)
或者更好的地方如果:
boolean addWhereClause = false;
QAddress address = QAddress.address;
JPQLQuery query = new JPAQuery(getEntityManager());
query.from(address)
.whereIf(addWhereClause, address.company.isNotNull())
Run Code Online (Sandbox Code Playgroud)
到目前为止我唯一发现的是使用BooleanBuilder,但我认为有更好的方法(比如上面的伪代码).
亲切的问候,土工