当前位置: 代码迷 >> java >> 如何将文本JPQL JPA查询转换为条件查询?
  详细解决方案

如何将文本JPQL JPA查询转换为条件查询?

热度:80   发布时间:2023-07-25 19:28:32.0

是否有可能将诸如select x from Clazz x类的JPQL字符串select x from Clazz x转换为CriteriaQuery对象,在该对象中我可以检查查询的根是否为Clazz (使用CriteriaQuery.getRoots )或做同样的事情(不转换为CriteriaQuery )?

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

以及 涵盖具体案例。 我正在寻找通用的编程解决方案。

指定与CriteriaBuilder.createQuery(Class)的参数不匹配的类型会导致IllegalArgumentException ,但这是一种替代方法,并且不允许研究非常有用的方法集。

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

另请参见有人针对JPA的未来版本提出要求的 。