当前位置: 首页 > 知识库问答 >
问题:

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

通寂离
2023-03-14

是否可以将像select x from Clazz x这样的JPQL sting转换为criteriaquery对象,在该对象中我可以检查查询的根是否为Clazz(使用criteriaquery.GetRoots),或者以不同的方式执行相同的操作(不转换为criteriaquery)?

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

将jpql连接查询转换为条件api以及如何将带有子查询的jpql转换为条件api等效?覆盖具体案件。我正在寻找一个通用的编程解决方案。

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

共有1个答案

公冶嘉
2023-03-14

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

另请参阅这个问题,其中有人为JPA的未来版本请求了它。

 类似资料:
  • 我需要将这个sql查询转换为hibernate条件,请大家帮忙。 按名称顺序按应用描述限制3从设备组中选择名称,计数(*)为应用

  • 我使用了cakephp Mysql到mongodb查询组件,即将Mysql查询转换到mongodb中,但是当查询有多个括号时代码停止工作,我还尝试将http://www.querymongo.com/site上的查询转换为相同的问题,

  • 我想在JPA 2.1中将“命名查询”转换为“SQL查询”,并在运行之前对其进行更改。 例如,我有一个命名查询:从CU所在的客户中选择CU。代码=?1,我希望在PAR之后获得查询并对其进行转换和编辑(例如添加模式名称)并创建此查询:从db1.cc1cust cu中选择*其中cu.cc1cod=?1. 我该怎么做? 问候

  • 我试图将下面的PostgreSQL查询转换为本机查询,但遇到错误。 Postgres查询: 本机查询: 但我得到了以下错误: 无法提取结果集;SQL [n/a];嵌套异常是 org.hibernate.exception.SQLGrammarException: 无法提取 ResultSet

  • 问题内容: 我想从数据库中删除某些项目。我有以下查询: 这有效,并返回2个结果。 现在,我想将此查询转换为查询。但是,以下操作无效: MySQL引发以下错误: 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ WHERE entry.sheetID = sheets.id ANDsheets.clientID = 13”附近使用 我在这里做错

  • 问题内容: 我的最后一篇文章是关于在LEFT OUTER JOIN上编写带有条件的SQL查询的最佳方法: LEFT OUTER JOIN带有条件(在哪里排序)? 现在,我需要将该段好的SQL转换成一个不错的Active Record查询(Rails 3)。;-) 我有2个型号: 培训 has_many:training_histories TrainingHistory 所属类别:培训 如何编写范