JPA 2.2: какой из его артефактов API добавить в проект? - PullRequest
0 голосов
/ 20 февраля 2020

JPA 2.2 добавлена ​​новая функция, поддерживающая поток java8:

 Stream Query.getResultStream();
 Stream<X> TypedQuery.getResultStream();

Испытаны оба артефакта:

compile group: 'org.eclipse.persistence', name: 'javax.persistence', version: '2.2.0'
compile group: 'javax.persistence', name: 'javax.persistence-api', version: '2.2'

Но они не поддерживают новый метод потока.

Что правильный артефакт API JPA 2.2 для добавления?

Только зависимость API, а не поставщик.

1 Ответ

0 голосов
/ 20 февраля 2020

С точки зрения функциональности не имеет значения, какой из них используется, потому что оба артефакта содержат эти два метода с точно такими же (по умолчанию) реализациями (как и ожидалось, потому что так сказано в спецификации).

Запрос:

default Stream getResultStream() {
        return this.getResultList().stream();
}

TypedQuery:

default Stream<X> getResultStream() {
        return this.getResultList().stream();
}

Если этот метод недоступен, причиной, скорее всего, является более ранняя версия JPA API на пути к классам.

...