次のHQLステートメントがあります。
Query q = session.createQuery(
"SELECT ze " +
"FROM NormaleZone zo " +
"LEFT JOIN zo.zaal za " +
"LEFT JOIN za.vertoningen v " +
"LEFT JOIN zo.normaleZetels ze " +
"WHERE v = :vertoning " +
" AND zo = :zone " +
" AND ze NOT IN (SELECT t.zetel FROM Ticket t WHERE t.vertoning = :vertoning)"
);
私が抱えている問題は、doや。と同様に、NormaleZone
から継承することです。Zone
HandicapZone
LoveZone
私がやりたいことは次のとおりです。
Query q = session.createQuery(
"SELECT ze " +
"FROM Zone zo " +
"LEFT JOIN zo.zaal za " +
"LEFT JOIN za.vertoningen v " +
"LEFT JOIN zo.??? ze " +
"WHERE v = :vertoning " +
" AND zo = :zone " +
" AND ze NOT IN (SELECT t.zetel FROM Ticket t WHERE t.vertoning = :vertoning)"
);
あなたは私がそこに入れたのを見ることができますzo.???
。このHQLの目的は、映画館でまだどの席が空いているかを調べることです。問題は、抽象クラスZone
にシートがないze
ことです(シートのエイリアスになります)。
Zone
そのメソッドで着信オブジェクトを確認し、ゾーン用とシート用の2つの文字列を作成して、それらをHQL文字列に連結する以外に、これを解決する方法がわかりません。