の下Lucee 4.5.1
で、Coldfusion/HQL を使用すると、次のエラーが発生します。
Lucee 4.5.1.022 Error (org.hibernate.hql.ast.QuerySyntaxException)
Message unexpected token: : near line 1, column 88 [from League where leagueID in (select leagueID from Game where seasonID=:sid and userID:=uid and showReportYN=1) order by leagueID]
Cause org.hibernate.hql.ast.QuerySyntaxException
Stacktrace The Error Occurred in
/my/file/code.cfm: line 39
...
39: qryLeagues = ORMExecuteQuery("from League where leagueID in (select leagueID from Game where seasonID=:sid and userID:=uid and showReportYN=1) order by leagueID", {sid=url.sid, uid=request.userID});
...
HQL ドキュメントと一致しているようです: https://docs.jboss.org/hibernate/orm/4.3/devguide/en-US/html/ch11.html#d5e3400
そして、この SO 投稿は、それが問題ないことも示しているようです: 予期しないトークン : ( サブクエリ hql
何が欠けているのかわからない...
アップデート #2
回答はそれを修正しましたが、次のエラーが発生しました:
No data type for node: org.hibernate.hql.ast.tree.IdentNode
これが最終的な作業クエリです (サブクエリのクラス エイリアスに注意してください)。
qryLeagues = ORMExecuteQuery("from League where leagueID in (select g.League.leagueID from Game g where g.Season.seasonID=:sid and g.Season.User.userID=:uid and g.League.showReportYN=1)",