【问题标题】:Can I use the JPA 2.0 CriteriaBuilder to fetch a list of non-entity objects?我可以使用 JPA 2.0 CriteriaBuilder 来获取非实体对象的列表吗?
【发布时间】:2012-03-22 00:19:59
【问题描述】:

我问了一个与此类似的问题,但我没有提供很好的细节,所以我用更好的细节重新问这个问题。

我有 2 个如下所示的表:

Table1
    A
    B
    C
    PK

Table2
    D
    E
    F
    PK

这 2 个表具有如下关联的 JPA 实体(为简洁起见,我省略了注释):

Entity1
    {
        String a;
        String b;
        String c;
        int PK;
    }
Entity2
    {
        String d;
        String e;
        String f;
        int PK;
    }

我还有一个我正在使用的简单 POJO(未映射到任何表),如下所示:

MyPOJO
    {
        String x;
        String y;
        String z;
    }

我目前正在使用 JPA 的原生 SQL 功能来返回 List 类型的结果集,查询看起来像这样:

SELECT A as x, D as y, F as z from Table1, Table2 WHERE Table1.PK = Table2.PK

我的问题是,我可以使用 CriteriaBuilder 做到这一点吗?如果是这样,怎么做?我试图远离原生查询。我正在使用 OpenJPA,如果这有什么不同的话。

【问题讨论】:

    标签: jpa openjpa nativequery


    【解决方案1】:

    是的,您可以使用纯 JPA2 来做到这一点。

    尝试以下文章(CriteriaBuilder 的构造部分)

    http://www.objectdb.com/java/jpa/query/jpql/select#SELECT_in_Criteria_Queries_

    【讨论】:

      猜你喜欢
      • 2012-03-21
      • 2016-08-24
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-21
      • 2014-10-09
      • 1970-01-01
      相关资源
      最近更新 更多