String query = "select t from myTable t where t.idOne = " + myId
+ " AND t.idTwo = " + myIdTwo
+ " AND t.idThree = " + myIdThree
+ "AND t.idFour = (select max(t.idFour) from t)";
したがって、myTableにはMAX IDを取得してクエリに使用する必要がある列があります。JPAでサブクエリを実行できません
最後の行は私にエラーを与える:
Error while running query: An exception occurred while creating a query in EntityManager:
java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager: Exception Description: Syntax error parsing [query from above]. [214, 214] An identification variable must be provided for a range variable declaration.
これはJPQLまたはSQLですか? 'myTable'は実際にはJPQLの' MyEntity'(エンティティクラスの名前)でなければならないからです。 – SJuan76
申し訳ありませんがjpql、あなたは正しいですエンティティクラスの名前は、私はちょうどその方法の名前を –
これはあなたの質問では正確には、(適切な 'ORDER BY'句で)あなたが望む:http://stackoverflow.com/questions/6708085/select-top-1-result-using-jpa – SJuan76