QueryDSL CaseBuilder截断值

时间:2018-07-18 18:19:26

标签: java string querydsl

我有这个CaseBuilder:

Expression<String> publishStatusCase = new CaseBuilder()
            .when(req.publishedExternal.isNotNull().and(req.publishedInternal.isNotNull()))
            .then("External and Internal")
            .when(req.publishedExternal.isNotNull().and(req.publishedInternal.isNull()))
            .then("External")
            .when(req.publishedExternal.isNull().and(req.publishedInternal.isNotNull()))
            .then("Internal")
            .otherwise("None");

对于.then()中的每个值,它仅返回相应字符串中的前4个字符。如果增加.otherwise()中字符串的长度,则其他字符串中返回的字符数也会相应增加。如果我将.then()中的字符串之一缩短为一个字符,则它对.otherwise()中返回的值没有影响。我需要对每个字符串做些什么,以便获取每个字符串返回的完整值吗?

摘要

返回的当前值: “ Exte”,“ Exte”,“ Inte”,“ None”

所需的输出: “外部和内部”,“外部”,“内部”,“无”

0 个答案:

没有答案