CrudRepository nativeQuery PostgresSQL

CrudRepository nativeQuery PostgresSQL
WA
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 5 lat
  • Postów:56
0

Cześć, mam taki oto kod:

Kopiuj
public interface GroupRepository extends CrudRepository<Group, Long> {
  @Query(value = "select COALESCE(MAX(g.order)+1, 0) as nextorder from groups g, group_members gm where gm.id_account=:id_account and g.id_group = gm.id_group and g.id_group_parent=:id_group_parent", nativeQuery = true)
  int getNextOrder(@Param("id_account") int id_account, @Param("id_group_parent") int id_group_parent);
 }

Dlaczego przy wywołaniu tej funkcji wyrzuca mi błąd:

BŁĄD: błąd składni w lub blisko "order"

Wywołanie tego zapytania bezpośrednio na bazie postgres wykonuje się poprawnie.

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
3

order jest też słowem kluczowym, więc może chodzić o to - spróbuj je wrzucić w backticki, apostrofy or sth.


WA
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 5 lat
  • Postów:56
0

Racja :) Zmieniłem nazwę kolumny, by uniknąć w przyszłości kolidacji. Dzięki.

YA
  • Rejestracja:prawie 10 lat
  • Ostatnio:9 dni
  • Postów:2370
2

Kod wygląda jakby zwracał kolejny wolny numer czegoś tam. Ciekawe co zwrócą dwa różne wątki wykonujące tę metodę ;-)

abrakadaber
abrakadaber
dwa te same numery :)
WA
Rzeczywiście jest to godne rozważenia. Hipotetycznie zakładam przez mały nakład, że taka sytuacja nie wystąpi, aczkolwiek rzeczywiście mimo bardzo małej szansy może się zdarzyć, że takie same numery zwróci, jeśli przez 2 różne wątki pójdzie. Czy macie może jakąś sugestię, jak tego uniknąć?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.