JPA 2.2 a ajouté une nouvelle fonctionnalité prenant en charge le flux java8 :

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

J'ai essayé les deux artefacts :

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

Mais ils n'utilisent pas la nouvelle méthode de flux.

Quel est le bon artefact d'API JPA 2.2 à ajouter ?

Dépendance API uniquement, pas de fournisseur impl.

0
Sunnyday 20 févr. 2020 à 10:27

1 réponse

Meilleure réponse

Du point de vue de la fonctionnalité, peu importe lequel est utilisé, car les deux artefacts contiennent ces deux méthodes avec exactement les mêmes implémentations (par défaut) (comme prévu, car c'est ce qui est dit dans la spécification).

Requete:

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

Requête typée :

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

Si ces méthodes ne sont pas disponibles, la raison en est probablement une ancienne API JPA sur le chemin de classe auparavant.

0
Mikko Maunu 20 févr. 2020 à 07:44