我试图使用条件生成器在openjpa中将字符串与BigDecimal 进行比较


list.add(build.equal(bondRoot.get(Bond_.writingCompanyCode),dtlRoot.get(ArPstdDtl_.companycd ).as(String.class)));

但是我收到以下错误:

由以下原因引起:org.apache.openjpa.persistence.ArgumentException:无元数据 找到类型"类 java.lang.String"。该类不是 增强。

有人可以帮助我解决这个问题吗?

将类型从 BigDecimal 更改为字符串需要转换,而不是强制转换。方法 as 无法从类型转换为其他 - 它纯粹用于类型转换,如文档所示:

对表达式执行类型转换,返回新表达式 对象。此方法不会导致类型转换:运行时类型 不会更改。警告:可能会导致运行时失败。

标准 API 不提供从 BigDecimalString 的转换。数据库供应商特定的函数可以通过 CriteriaBuilder.function 使用。

最新更新