2017-06-20 5 views
1

Wenn ich mir die Query Creation für die Spring Data JPA-Repositories anschaue, frage ich mich, wie ich einen Parameter wiederverwenden könnte. Zum Beispiel, wie würde ich die Methode nennen, wenn ich so etwas tun will:Wie verwende ich einen Parameter mit einem Spring-Data-JPA-Repository?

@Query("select c from #{#entityName} c where c.lower <= ?1 and c.upper >= ?1") 
E findByConversionFor(Double amount); 

Kann diese Abfrage umgewandelt werden zu einem Spel Methodennamen (vom Query Builder verwendet werden)?

Es ist wie ein kludge scheint den gleichen Wert zu verlangen besteht zweimal zu:

E findByLowerLessThanOrEqualAndUpperGreaterThanOrEqual(Double a, Double b); // where a==b 
+0

Nehmen ein Blick: https://stackoverflow.com/questions/19417670/using-generics-in-spring-data-jpa-repositories –

Antwort

1

markieren Sie Ihre Parameter mit @Param("amount") und wird dann in der Lage sein, es beim Namen zu verwenden:

@Query("select c from #{#entityName} c where c.lower <= :amount and c.upper >= :amount") 
+2

Ja, das funktioniert perfekt für die JPQL-Abfrage. Weißt du, wie ich Parameter in der SpEL-Methode wiederverwenden kann? –

Verwandte Themen