Могу ли я использовать JPA 2.0 CriteriaBuilder для получения списка объектов, не являющихся объектами? - PullRequest
2 голосов
/ 04 марта 2012

Я задал вопрос, похожий на этот, но не предоставил подробных сведений, поэтому я повторяю вопрос с более подробными данными.

У меня есть 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;
    }

В настоящее время я использую встроенную функциональность SQL JPA для возврата набора результатов типа List, и запрос выглядит примерно так:

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

У меня вопрос, могу ли я сделать это с помощью CriteriaBuilder?Если так, то как?Я пытаюсь держаться подальше от нативных запросов.Я использую OpenJPA, если это что-то меняет.

1 Ответ

2 голосов
/ 05 марта 2012

Да, вы можете сделать это, используя чистый JPA2.

Попробуйте следующую статью (раздел CriteriaBuilder's construct)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...