Как правильно вызывать методы перечисления в запросе hql? numberClass и SymbolClass — это перечисления

#java #sql #postgresql #hibernate #hql

#java #sql #postgresql #спящий режим #hql

Вопрос:

Ошибка при создании компонента с именем ‘studentRepository’: не удалось вызвать метод инициализации; вложенное исключение — java.lang.Исключение IllegalArgumentException: ошибка проверки запроса для метода public abstract java.util.List

     @Query(
        "SELECT new com.javamentor.dto.model.student.StudentDto("  
                "s.id, "  
                "s.firstName, "  
                "s.lastName, "  
                "s.middleName, "  
                "s.birthday, "  
                "s.email, "  
                "s.enabled, "  
                "s.registrationDate, "  
                "s.enrollmentDate, "  
                "CONCAT(s.studentClass.classLevel.numberClass.ordinal, 
                        s.studentClass.symbolClass.name)) "  
                "FROM Student s")
    List<StudentDto> findAllStudentsDTO();
 

Ответ №1:

Вы не можете этого сделать. Вы должны передать перечисления своему StudentDto конструктору, а затем объединить их по своему усмотрению.