2017-02-09 5 views
1

リポジトリメソッドで@Queryを使用してSpringデータクエリを指定していますが、例外はNoViableAltException例外をスローしています。HibernateでSpringデータクエリを使用中にNoViableAltExceptionが発生する

この私が使用していますリポジトリのインターフェース方法および注釈です:

@Query(value="SELECT one.saveLine, two.saveLine FROM (SELECT * FROM SaveOutputTable WHERE saveType = 'R' and seqId = '0' and executionId =:executionIdOne) one JOIN (SELECT * FROM SaveOutputTable WHERE saveType = 'R' and seqId = '0' and executionId =:executionIdTwo) two ON one.lineId = two.lineId") 
public List<ResultCompare> findByParamResult(@Param("executionIdOne") long executionIdOne,@Param("executionIdTwo") long executionIdTwo); 

を。これは、次のエラーが発生します。

antlr.NoViableAltException: unexpected token: (
at org.hibernate.hql.internal.antlr.HqlBaseParser.fromRange(HqlBaseParser.java:1501) [hibernate-core-5.0.9.Final.jar:5.0.9.Final] 
at org.hibernate.hql.internal.antlr.HqlBaseParser.fromClause(HqlBaseParser.java:1325) [hibernate-core-5.0.9.Final.jar:5.0.9.Final] 
at org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1045) [hibernate-core-5.0.9.Final.jar:5.0.9.Final] 
at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:730) [hibernate-core-5.0.9.Final.jar:5.0.9.Final] 
at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:323) [hibernate-core-5.0.9.Final.jar:5.0.9.Final] 
at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:186) [hibernate-core-5.0.9.Final.jar:5.0.9.Final] 
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:279) [hibernate-core-5.0.9.Final.jar:5.0.9.Final] 
+0

別の 'hibernate-core-5.0.9'バージョンで試しましたか?このhttps://mvnrepository.com/artifact/org.hibernate/hibernate-core/5.2.5.Finalを試してみましたか? –

答えて

3

このエラーは、Hibernateとは全く関係ありません。

通常、JPQLクエリ文字列を取るSpringデータ注釈@Queryを使用しています。あなたが指定しているのはネイティブクエリSQL文字列なので、アノテーションを変更してnativeQuery=trueも提供する必要があります。

関連する問題