04 May 2019

blog

Sur la page suivante, on voit comment faire des requêtes en SQL natif :

En gros, on procède pareil qu'en JPQL query.

Query q = em.createNativeQuery("SELECT a.firstname, a.lastname FROM Author a");
List<Object[]> authors = q.getResultList();
 
for (Object[] a : authors) {
    System.out.println("Author "
            + a[0]
            + " "
            + a[1]);
}

On peut même faire mieux, avec du binding de paramètres.

Mais arretons nous avant : comment on obtient l'entityManager ?

Trouvé sur StackOverflow :

@PersistenceContext
private EntityManager entityManager;

@Query

On peut également utiliser l'annotation @Query, comme expliqué ici :