【问题标题】:How to transform a text JPQL JPA query into a criteria query?如何将文本 JPQL JPA 查询转换为条件查询?
【发布时间】:2015-08-07 12:17:30
【问题描述】:

是否可以将像select x from Clazz x 这样的JPQL 字符串转换为CriteriaQuery 对象,我可以在其中检查查询的根是否为Clazz(使用CriteriaQuery.getRoots)或以不同的方式执行相同的操作(不转换进入CriteriaQuery)?

JPA 文档非常简单(例如,CriteriaBuilder 的类注释说“返回 CriteriaBuilder 的实例以创建 CriteriaQuery 对象。” - 10 或 20 个句子和更多的引用不会受到伤害)。因此,它没有提及任何关于逆转CriteriaQuery -> TypedQuery 进程的内容。

jpa - transforming jpql join query to criteria apiHow to convert a JPQL with subquery to Criteria API equivalent? 覆盖具体案例。我正在寻找通用的编程解决方案。

指定与CriteriaBuilder.createQuery(Class) 的参数不匹配的类型会导致IllegalArgumentException,但这更像是一种解决方法,并且不允许使用一组非常有用的方法进行调查。

【问题讨论】:

    标签: java jpa jpql


    【解决方案1】:

    不,不可能,或者至少没有标准化的方式。

    另请参阅 this issue,其中有人为 JPA 的未来版本请求它。

    【讨论】:

      猜你喜欢
      • 2013-05-29
      • 1970-01-01
      • 2016-07-06
      • 1970-01-01
      • 2021-04-03
      • 2017-10-29
      • 1970-01-01
      • 2021-10-09
      • 2011-06-12
      相关资源
      最近更新 更多