java - 如何使用 Object 类型的参数调用 CriteriaBuilder.lessThan

标签 java hibernate jpa

在已弃用的 Criteria API 中,我可以执行以下操作:

Object value = myFunc(); //this function returns numeric value based on some criteria
criteria.add(Restrictions.lt("column", value));
对我来说重要的功能是在编译时不知道类型,这是在运行时确定的。在新的 CriteriaQuery API 中,当我尝试调用以下代码时,它给了我一个错误。
Object value = myFunc(); //this function returns numeric value based on some criteria
CriteriaBuilder builder = session.getCriteriaBuilder();
criteriaQuery.where(builder.lessThan(root.get("column"), value));
无法解析方法“lessThanOrEqualTo(javax.persistence.criteria.Path, java.lang.Object)”

最佳答案

所以只需投 valueComparable正如 API 所期望的那样。

关于java - 如何使用 Object 类型的参数调用 CriteriaBuilder.lessThan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66570240/

相关文章:

java - 计算属性未由 Hibernate 填充

java - Hibernate搜索faceting,如何返回facet查询Spring MVC

java - Envers 审计表中缺少属性

java - 为什么我们必须在 persistence.xml 中提供数据库凭据

java - Play Framework,OneToOne 关系不起作用

java - 如何做到这一点,Enum.valueOf() 中不会抛出异常?

java - 我如何使用java编写remove方法?

java - 如何添加最新的依赖ZXing android嵌入(2017)

java - 使用 Java 将 ASCII 转换为 UTF-16

java - 如何有效地将一个方法划分为子方法?