当前位置: 首页 > 知识库问答 >
问题:

Querydsl-无法确定搜索的case语句的数据类型

韶宏邈
2023-03-14

这个问题在几年前就有了答案(标题类似),但我正在努力解决这个问题。似乎无论我在then()谓词中放了什么表达式,我都会得到一个Hibernate错误:

无法确定搜索case语句的数据类型

SimpleExpression<String> adjustmentFlag = 
        new CaseBuilder()
                .when(myObject.id.isNotNull())
                .then(Expressions.asString("true"))
                .otherwise(Expressions.asString("false"));

共有1个答案

白学
2023-03-14

不要紧-想通了。它实际上不是then()或overther()方法中的表达式--而是我在when()条件中使用的文字。我把它们改成用表达式。它现在起作用了。

 类似资料:
  • 我正试图通过以下方式更新一个表: 对于值和,它抛出错误:

  • 我想使用JDBC prepared语句将一个表的内容从数据库写入CSV文件。我正在使用的PSQL查询是: 我的代码如下: 它不能与copy..to语句一起工作的原因是什么?

  • 在使用querydsl时,我遇到了一个问题,需要生成一个case语句,其中包含不同数量的when/then语句和一个最终的else表达式。 正如这里所描述的,我已经能够轻松地生成带有固定数量的when/then语句的case语句,如下所示-

  • Erlang提供case语句,可用于根据case语句的输出执行表达式。 本声明的一般形式是 - 语法 (Syntax) case expression of value1 -> statement#1; value2 -> statement#2; valueN -> statement#N end. 本声明的一般工作如下 - 要评估的表达式放在case语句中。 这通常会评估为

  • 除非编译器强制要求,括号在 case 语句里面是不必要的。但是当一个 case 包含了多行语句的时候,需要加上括号。 switch (condition) { case 1: // ... break; case 2: { // ... // Multi-line example using braces

  • 可以将case statement作为外部case statement的语句序列的一部分。 即使内部和外部的case constants包含共同的值,也不会产生冲突。 语法 (Syntax) 嵌套case语句的语法如下 - case (ch1) of 'A': begin writeln('This A is part of outer case' ); cas