以下のパラメータ:idequipementおよびidMissionを使用して、応答されておらず、応答されていない(応答チェックリストはResponsesCheckListsテーブルにあります)すべてのチェックリストを表示します。JPA、JPQL:予期しないトークン:LEFTの近く1行
antlr.NoViableAltException: unexpected token: LEFT
------
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: LEFT near line 1, column 148 [SELECT check,resp,eq FROM com.SSC.DAO.Entities.Equipements eq INNER JOIN CheckLists check WHERE eq.idEquipements = check.equipements.idEquipements LEFT JOIN ResponsesCheckLists resp ON check.idCheckLists=resp.CheckLts.idCheckLists AND resp.Respmission.idMission = :idmiss WHERE eq.idEquipements = :idEqp ]
------
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'responsesCheckListsRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Validation failed for query for method public abstract java.util.List com.SSC.DAO.JPARepository.ResponsesCheckListsRepository.ListCheckListsNonRepondu(long,long)!
EDIT1:
@Query("SELECT check,resp,eq FROM Equipements eq INNER JOIN CheckLists check WHERE eq.idEquipements = check.equipements.idEquipements LEFT JOIN ResponsesCheckLists resp ON check.idCheckLists=resp.CheckLts.idCheckLists AND resp.Respmission.idMission = :idmiss WHERE eq.idEquipements = :idEqp ")
public List<ResponsesCheckLists> ListCheckListsNonRepondu(@Param("idEqp") long idEqp, @Param("idmiss") long idmiss);
、Iこのエラーメッセージが表示され、このクエリを実行した後EDIT1の
@Query("SELECT check,resp,eq FROM Equipements eq INNER JOIN CheckLists check ON eq.idEquipements = check.equipements.idEquipements"
+ " INNER JOIN ResponsesCheckLists resp ON check.idCheckLists=resp.CheckLts.idCheckLists AND resp.Respmission.idMission = :idmiss AND eq.idEquipements = :idEqp ")
public List<ResponsesCheckLists> ListCheckListsNonRepondu(@Param("idEqp") long idEqp, @Param("idmiss") long idmiss);
エラー。
に起因:java.lang.IllegalStateException:ノードのデータはありませんタイプ: org.hibernate.hql.internal.ast.tree.IdentNode + - [IDENT] IdentNode: '確認' {originalText =チェック}
antlr.SemanticException:パスが参加予定です! java.lang.IllegalArgumentExceptionが:によって引き起こさ
検証は、メソッドpublic抽象java.util.Listに com.SSC.DAO.JPARepository.ResponsesCheckListsRepository.ListCheckListsNonRepondu(長い、長い)ため クエリに失敗しました!
EDIT2:EDIT2の
@Query("SELECT check , resp , eq FROM Equipements eq INNER JOIN CheckLists check ON eq.idEquipements = check.equipements.idEquipements"
+ " INNER JOIN ResponsesCheckLists resp ON check.idCheckLists=resp.CheckLts.idCheckLists AND resp.Respmission.idMission = :idmiss AND eq.idEquipements = :idEqp ")
public List<ResponsesCheckLists> ListCheckListsNonRepondu(@Param("idEqp") long idEqp, @Param("idmiss") long idmiss);
エラー:java.lang.IllegalStateException:によって引き起こさ
ノードのデータはありませんタイプ: org.hibernate.hql .internal.ast.tree.IdentNode + - [IDENT] IdentNode: 'check' {originalText = check} antlr.SemanticExceptイオン:参加予定のパス!
このクエリを修正するにはどうすればよいですか?
あなたはJPQLクエリを指定しますが春の注釈(@Query
)を持って事前に
ネイティブクエリまたはJPQLクエリを実行しようとしていますか? –
したいですかJPQLのクエリ – Michael1
WHERE句にLEFT JOINは許可されていません。 – ujulu