получение ошибки: операнд должен содержать 1 столбец (и). без внутреннего запроса по сгенерированному запросу jpa spcification - PullRequest
0 голосов
/ 04 августа 2020

Я получаю сообщение об ошибке: операнд должен содержать 1 столбец (столбцы) в запросе, сгенерированном спецификацией jpa, в этом запросе нет подзапроса, созданного только на основе соединения. Ниже приведена демонстрация кода:

select 
    count(studentcla0_.STUDENT_CLASS_SECTION_MAPPING_ID) as col_0_0_ 
from 
    STUDENT_CLASS_SECTION_MAPPING studentcla0_ inner join STUDENT studentdo1_ 
    on studentcla0_.STUDENT=studentdo1_.STUDENT_ID inner join STUDENT studentdo2_ 
    on studentcla0_.STUDENT=studentdo2_.STUDENT_ID cross join USER_CREDENTIALS usercreden3_ 
    cross join USER_CREDENTIALS usercreden4_ 
where 
    studentdo2_.FATHER_CREDENTIAL=usercreden3_.USER_CREDENTIAL_ID 
    and studentdo1_.FATHER_CREDENTIAL=usercreden4_.USER_CREDENTIAL_ID 
    and 
        (usercreden3_.SCHOOL=? 
        and studentcla0_.CLASS=? 
        and studentcla0_.ACADEMIC_YEAR=? 
        and studentcla0_.STUDENT<>
            (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?) 
        or usercreden4_.SCHOOL=? 
        and studentcla0_.CLASS=? 
        and studentcla0_.ACADEMIC_YEAR=? 
        and studentcla0_.TC_ALLOTED<>? 
        and studentdo1_.STUDENT_STATUS<>? 
        and studentcla0_.STUDENT<>?) 
group by studentcla0_.STUDENT_CLASS_SECTION_MAPPING_ID;

Я застрял на этом весь день, пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 04 августа 2020

Вы не можете добавить более одного значения в неравные числа (<>), используйте вместо него not in:

studentcla0_.STUDENT<> (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?) 

должно быть

studentcla0_.STUDENT NOT IN (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?) 
...