如何在QuerydslPredicateExecutor中使用IN包含忽略大小写?

How to use IN contains ignore case in QuerydslPredicateExecutor?

我想要实现的是使用 IN 查询,它在我的 QuerydslPredicateExecutor 中忽略大写或小写,但我找不到函数和任何关于它的文档。这是我的工作:

List<String> statusList = new ArrayList<String>();
statusList.add("ASSIGNED");
statusList.add("Got Permit");

QTransStuffing qTransStuffing = QTransStuffing.transStuffing;
BooleanExpression isCanceledFalse = qTransStuffing.cancelStuffing.eq(false);
BooleanExpression eStatusList = qTransStuffing.status.in(statusList);
Predicate predicate = isCanceledFalse.and(eStatusList);

transStuffingRepository.findAll(predicate)

如你所见,查询qTransStuffing.status.in(statusList)不会忽略大小写,如何实现忽略大小写的IN查询?

没有比以下更好的方法了:

List<String> statusList = new ArrayList<String>();
statusList.add("ASSIGNED");
statusList.add("GOT PERMIT");

QTransStuffing qTransStuffing = QTransStuffing.transStuffing;
BooleanExpression isCanceledFalse = qTransStuffing.cancelStuffing.eq(false);
BooleanExpression eStatusList = qTransStuffing.status.upperCase().in(statusList);
Predicate predicate = isCanceledFalse.and(eStatusList);

transStuffingRepository.findAll(predicate)