@Query. QuerySyntaxException: Invalid path: 'b.userIP'

111
13 августа 2019, 21:40

У меня есть запрос в SQL. Запрос работает.

select b.id,
       b.user_id,
       b.fio,
       b.source_id,
       b.user_IP,
       (select count(distinct a.user_id) from AuthLog as a where a.user_IP = b.user_IP) as amount_by_IP,
       b.fingerprint,
       (select count(distinct c.user_id) from AuthLog as c where c.fingerprint = b.fingerprint) as amount_by_fingerprint,
       b.date_time,
       b.session_finish,
       b.connection_provider,
       b.ip_region
from AuthLog b
order by b.id
limit 100, 20;

Я переношу запрос в @Query.

@Query("select " +
        "b.id, " +
        "b.userId, " +
        "b.fio, " +
        "b.source, " +
        "b.userIP, " +
        "(select count(distinct a.userId) from AuthLog as a where a.userIP = b.userIP), " +
        "b.fingerprint, " +
        "(select count(distinct c.userId) from AuthLog as c where c.fingerprint = b.fingerprint), " +
        "b.dateTime, " +
        "b.sessionFinish, " +
        "b.connectionProvider, " +
        "b.ipRegion " +
        "from AuthLog as b order by b.id")
Page<UserSessionDto> findUserSessions(Pageable pageable);

Приложение валится на этапе компиляции с QuerySyntaxException:

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: 
Invalid path: 'b.userIP' [select count(a) from 
ru.gamble.main.domain.AuthLog as a where a.userIP = b.userIP), 
b.fingerprint, (select count(distinct c.userId) from 
ru.gamble.main.domain.AuthLog as c where 
c.fingerprint = b.fingerprint), b.dateTime, b.sessionFinish, 
b.connectionProvider, b.ipRegion from 
ru.gamble.main.domain.AuthLog as b]

Не могу понять, что не так. БД: MariaDB.

READ ALSO
java.lang.StackOverflowError: stack size 8MB

java.lang.StackOverflowError: stack size 8MB

приложение для чтения новостей на котлинеиспользуется newsapi

114
Помогите разобраться с наследованием

Помогите разобраться с наследованием

Не понимаю принцип работы upcast

129
Убрать переключение на следующий EditText

Убрать переключение на следующий EditText

У меня есть 2 элемента EditText и 2 обработчика на нажатие Enter для них на клавеПример обработчика вот:

108
Не импортируется группа по умолчанию из Active Directory

Не импортируется группа по умолчанию из Active Directory

Разрабатываю приложение, которое импортирует из Active Directory пользователей и их группыБаза: CN=ivan ivanov,CN=Users,DC=perimetrix,DC=ru, Фильтр: (&(objectCategory=user)(objectClass=user)(userPrincipalName=*))

105