2015-10-13 15 views
5

Niektóre przykłady online dla Mysema Querydsl użycie polega na metodzie JPAQuery#list(), np. this stackoverflow answer zawierające przykład agregatu GROUP BY/COUNT. Jest również określany w całym numerze official documentation.Mysema Querydsl: Nie ma metody JPAQuery # list()

Po prostu nie widzę tej metody na klasie JPAQuery. Nie pojawia się w autouzupełnieniu IDE, a nie ma go w pliku JAR pobranym przez Mavena.

Dodałem te zależności do mojego projektu Maven:

<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-apt</artifactId> 
    <version>4.0.4</version> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>com.querydsl</groupId> 
    <artifactId>querydsl-jpa</artifactId> 
    <version>4.0.4</version> 
</dependency> 

Dlaczego metoda JPAQuery#list() nie przedstawi?

Odpowiedz

3

Metoda JPAQuery.list została usunięta, gdy Querydsl zaktualizowano z 3.x do linii 4.x. Ponieważ używasz wersji 4.0.4, ta metoda nie jest już dostępna.

Jak rozumiem po przeczytaniu release notes, wersja 4 wprowadza wiele poważnych zmian w bazie kodu, które dzielą starsze kody. Masz dwie opcje:

  • downgrade do wersji poprzedniej linii 3.x, która 3.6.8 i użyć metody
  • keep wersji 4.0.4 list i użyć metody fetch zamiast. Spójrz na this GitHub issue dla listy zmian.
+0

Dziękuję Ci, Tunaki. Tego się bałem. Myślę, że postaram się pozostać przy 4.0.4 i dowiedzieć się, jak uaktualnić moje zapytania. Ludzie @Mysema: Czy ktoś miałby ochotę aktualizować dokument referencyjny? – SputNick

+0

Dzięki za heads up. Zostanie naprawiony https://github.com/querydsl/querydsl/pull/1626 –

+0

Co z metodą listy, która pobiera parametr (w mysema). Funkcja pobierania() nie przyjmuje żadnych parametrów. – Tisha

Powiązane problemy