私は JSF 2 を使用してプロジェクトを行っていますが、映画の提案を行う特に複雑なクエリがあります。私はそれを名前付きクエリとして入れようとしましたが、コンパイラはエラーがあると言いました。正直、どこを見ればいいのかわかりません
SELECT M.*
FROM Account A,
Movie M,
Orders O,
Rental R,
(SELECT Acc.Id
FROM Account Acc,
(SELECT COUNT(*) AS c,
Acc.Id
FROM Account Acc,
(SELECT M.*
FROM Account A,
Rental R,
Orders O,
Movie M
WHERE A.Id=R.AccountId
AND R.MovieId=M.Id
AND R.OrderId=O.Id
AND A.Id=:id) AS a
INNER JOIN
(SELECT M.*,
A.Id AS AccountId
FROM Account A,
Rental R,
Orders O,
Movie M
WHERE A.Id=R.AccountId
AND R.MovieId=M.Id
AND R.OrderId=O.Id
AND A.Id<>:id) AS b USING (Id,Name,TYPE,Rating,DistrFee,NumCopies)
WHERE Acc.Id = b.AccountId ) AS COUNT
WHERE COUNT.c>0
AND COUNT.Id = Acc.Id) AS SimilarAccount
WHERE A.Id=R.AccountId
AND R.MovieId=M.Id
AND R.OrderId=O.Id
AND A.Id=:id
AND M.Id NOT IN
(SELECT M.Id
FROM Account A,
Rental R,
Orders O,
Movie M
WHERE A.Id=R.AccountId
AND R.MovieId=M.Id
AND R.OrderId=O.Id
AND A.Id=SimilarAccount.Id)
パフォーマンスの問題はさておき (教授は映画の提案を MySQL 経由で行うことを望んでいました)、繰り返し使用するためにこのクエリを保存する手順がわかりません。クエリをビューとして保存しますが、パラメーターがあります (ユーザーのパラメーター ID が必要です)。
このクエリをどのように保存することをお勧めしますか?