CrudRepository nativeQuery PostgresSQL

Odpowiedz Nowy wątek
2018-10-29 11:17
0

Cześć, mam taki oto kod:

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.

Pozostało 580 znaków

2018-10-29 11:20

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


Pozostało 580 znaków

2018-10-29 11:36
0

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

Pozostało 580 znaków

2018-10-29 11:41
2

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

dwa te same numery :) - abrakadaber 2018-10-29 14:24
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ąć? - Warmix 2018-10-30 00:02

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0