0
querydslを使用すると、さまざまなwhen/then文と最終的なelse式でcase文を生成する必要があります。Querydsl:さまざまな時/時のペアでcase文を作成する
としては、hereを説明、私は簡単this-
Expression<String> cases = customer.annualSpending
.when(10000).then("Premier")
.when(5000).then("Gold")
.when(2000).then("Silver")
.otherwise("Bronze");
この様/ then文は、私はすでにないsuccess-
と試みたアプローチであるときの固定数でcase文を生成することができました私はいくつかのタイプの問題に遭遇したMap<BooleanBuilder,SimplePath<?>> caseExpressionMap = new LinkedHashMap<>();
CaseBuilder.Cases<?,?> caseExpression = null;
for(BooleanBuilder expression : caseExpressionMap.keySet()){
if(caseExpression!=null)
caseExpression = caseExpression.when(expression).then(caseExpressionMap.get(expression));
else
caseExpression = new CaseBuilder().when(expression).then(caseExpressionMap.get(expression));
}
cases=cases.otherwise(...)
- その後、
方法を(#19-のをキャプチャします?)タイプで CaseBuilder.CaseWhenは
はここにいくつかの助けに感謝の引数(SimplePath)には適用されません です。