Я пытаюсь интегрировать 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.
Что я сделал не так?
Я искал в Интернете другие «решения», чтобы решить эту проблему, но ни одно не помоглодля меня или связан с этим исключением.
Любая помощь будет принята с благодарностью.