2017-06-14 5 views
0

J'ai la requête suivante qui fonctionne parfaitement dans MySQL mais qui donne une erreur quand j'écris dans le dépôt Comment puis-je écrire une requête de jointure interne dans JPARepository?Comment écrire une requête de jointure interne dans JPARepository

@Query("Select address from Address a inner join Order o ON a.id=o.pickup_address_id where o.customer_id=: customerId AND a.address LIKE 'C%'") 
    Set<Address> findPickupAddress(@Param("customerId") Long customerId); 

Erreur: jeton inattendu: ordre près de la ligne 1, colonne 66

Répondre

0

order est un mot réservé. Si vous ne pouvez pas renommer la table, vous devez l'utiliser comme:

@Query("Select address from Address a inner join `Order` o ON ...") 
+0

Vérifiez ma réponse: ') – SFAH

+0

La requête votre question est une requête SQL native et non un jpql! –

0

Il n'y a pas ON dans JPQL de sorte que la requête est mise à jour:

@Query("Select a from Address a , Order o where a.id=o.pickupAddress AND o.customer.id=:customerId AND a.address LIKE 'C%'") 
    Address findPickupAddress(@Param("customerId") Long customerId); 
} 
+0

Cela générera une jointure externe non interne! –