0

これは私のクエリです:

    "SELECT t FROM LeerkrachtEntity t WHERE t = (SELECT l.leerkracht FROM LesEntity l WHERE l.id = :lesId)  AND t IN (SELECT k.teachers FROM KlasEntity k WHERE k.id = :klasId) AND t.id = :leerkrachtId"

これは休止状態が行うことです:

    Hibernate: 
/* SELECT
    t 
FROM
    LeerkrachtEntity t 
WHERE
    t = (
        SELECT
            l.leerkracht 
        FROM
            LesEntity l 
        WHERE
            l.id = :lesId
    )  
    AND t IN (
        SELECT
            k.teachers 
        FROM
            KlasEntity k 
        WHERE
            k.id = :klasId
    ) 
    AND t.id = :leerkrachtId */ select
        leerkracht0_.person_id as person_i1_12_,
        leerkracht0_1_.email as email2_12_,
        leerkracht0_1_.familienaam as familien3_12_,
        leerkracht0_1_.voornaam as voornaam4_12_ 
    from
        leerkracht leerkracht0_ 
    inner join
        person leerkracht0_1_ 
            on leerkracht0_.person_id=leerkracht0_1_.person_id 
    where
        leerkracht0_.person_id=(
            select
                lesentity1_.person_id 
            from
                les lesentity1_,
                leerkracht leerkracht2_ 
            inner join
                person leerkracht2_1_ 
                    on leerkracht2_.person_id=leerkracht2_1_.person_id 
            where
                lesentity1_.person_id=leerkracht2_.person_id 
                and lesentity1_.les_id=?
        ) 
        and (
            leerkracht0_.person_id in (
                select
                    . 
                from
                    klas klasentity3_,
                    leerkracht_klas teachers4_,
                    leerkracht leerkracht5_ 
                inner join
                    person leerkracht5_1_ 
                        on leerkracht5_.person_id=leerkracht5_1_.person_id 
                where
                    klasentity3_.klas_id=teachers4_.klas_id 
                    and teachers4_.person_id=leerkracht5_.person_id 
                    and klasentity3_.klas_id=?
            )
        ) 
        and leerkracht0_.person_id=?

次のエラーが表示されます。

    16:48:27.475 ERROR o.h.e.jdbc.spi.SqlExceptionHelper - unexpected token: KLAS required: )

データベースで「lesId」と「klasId」が接続されているleerkrachtEntityを取得しようとしています。私を助けてください。何が悪いのかわかりません。


クエリのこの部分を使用すると、すべてが機能します。

       "SELECT t FROM LeerkrachtEntity t WHERE t = (SELECT l.leerkracht FROM LesEntity l WHERE l.id = :lesId)  AND t.id = :leerkrachtId"

ここでうまくいきません:

    t IN (SELECT k.teachers FROM KlasEntity k WHERE k.id = :klasId) AND 
4

1 に答える 1