Определение целочисленного значения в предложении Where для запроса JPQL с использованием весенней загрузки - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь получить объединенные данные из двух таблиц, используя данные весенней загрузки и пружины JPA.В своем запросе на присоединение я определил предложение where с целочисленным условием userId = value.Но я получаю сообщение об ошибке типа

java.lang.ClassCastException: java.lang.Integer cannot be cast to com.spacestudy.model.Users

В своем хранилище я добавил запрос, например,

    @Query("SELECT u.nuserId , ur.ninst_id FROM Users u JOIN u.roleUserRoleMappingMappingJoin ur where u.nuserId = :uid")
    Users findByNuserId(@Param("uid") int uid);

И вызов с контроллера, как,

@GetMapping("/load")
    public Iterable<Users> load() {
        return (Iterable<Users>) userObj.findByNuserId(670);
    }

Из этогоЯ могу получить результат.Но почему я не могу извлечь из предыдущего?Что здесь не соответствует?Может кто-нибудь помочь мне решить эту проблему типа?

1 Ответ

0 голосов
/ 27 августа 2018

Избегайте объединений.Это красота для JPA / Hibernate.

Код репозитория

Users findByNuserId(int uid);

Сервисный код

Users user=repository.findByNuserId(uid);

int nuserId=user.nuserId;
int ninst_id=user.roleUserRoleMappingMappingJoin.ninst_id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...