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 不提供从 BigDecimal 到 String 的转换。数据库供应商特定的函数可以通过 CriteriaBuilder.function 使用。