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

时间:2015-08-07 12:17:31

标签: java jpa jpql

是否可以将select x from Clazz x这样的JPQL sting转换为CriteriaQuery对象,我可以在其中检查查询的根目录是否为Clazz(使用{{1} }}或以不同的方式做同样的事情(不转换成CriteriaQuery.getRoots)?

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

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

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

1 个答案:

答案 0 :(得分:2)

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

另请参阅this issue,其中有人请求将其用于未来版本的JPA。