ClassCastException для того же класса - PullRequest
0 голосов
/ 07 декабря 2018

Я пытаюсь интегрировать Spring Boot и Hibernate и хочу получить доступ к базе данных без использования репозиториев (мне удается выполнить все операции CRUD с использованием конфигурации базы данных внутри application.properties и получить все необходимое из репозиториев).По сути, у меня есть ClassCastException в следующем коде:

 Session session = factory.openSession();
        Transaction tx = null;
        List<User> appUsers =null;
        try {
            tx = session.beginTransaction();
            Query query = session.createQuery("FROM User WHERE id = :id");   
            query.setParameter("id", id);  //the id is given by parameter
            appUsers = query.list();
        } catch (Exception e) {
        } finally {
            session.close();
        } 
        User user = appUsers.get(0);

В последней строке я получаю это исключение, сообщающее, что оно не может быть разыграно от пользователя к пользователю (того же класса ).Я знаю, что запрос не рекомендуется, и я попробовал альтернативу, но я все еще получаю тот же результат.Даже dto (объект передачи данных) не помогли мне.Также я запустил в отладчике, и я получаю правильный результат из базы данных ( MySql ), но когда я пытаюсь получить первый существующий объект (Пользователь), я получаю это исключение.Когда я проверяю User.class.isInstance(appUsers.get(0)) результат ложен.Я знаю, что класс User написан правильно в соответствии с практикой отображения hibernate.

Что я сделал не так?

Я искал в Интернете другие «решения», чтобы решить эту проблему, но ни одно не помоглодля меня или связан с этим исключением.

Любая помощь будет принята с благодарностью.

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