引入mybatis-plus后,在spring-boot启动时,JPA使用CCJSqlParser对SQL进行解析处理。由于@Query中的Native SQL语法不完整,因此会报错:+Caused by: java.lang.IllegalArgumentException: The query you provided+
Caused by: java.lang.IllegalArgumentException: The query you provided is not a valid SQL Query! at org.springframework.data.jpa.repository.query.JSqlParserQueryEnhancer.detectParsedType(JSqlParserQueryEnhancer.java:95) at org.springframework.data.jpa.repository.query.JSqlParserQueryEnhancer.<init>(JSqlParserQueryEnhancer.java:72) at org.springframework.data.jpa.repository.query.QueryEnhancerFactory.forQuery(QueryEnhancerFactory.java:45) at org.springframework.data.jpa.repository.query.StringQuery.<init>(StringQuery.java:83) at org.springframework.data.jpa.repository.query.DeclaredQuery.of(DeclaredQuery.java:40) at org.springframework.data.jpa.repository.query.JpaQueryMethod.assertParameterNamesInAnnotatedQuery(JpaQueryMethod.java:158) at org.springframework.data.jpa.repository.query.JpaQueryMethod.<init>(JpaQueryMethod.java:139) at org.springframework.data.jpa.repository.query.DefaultJpaQueryMethodFactory.build(DefaultJpaQueryMethodFactory.java:44) at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:93) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:103) ... 66 common frames omitted Caused by: net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "<=" <OP_MINORTHANEQUALS> at line 1, column 1648.
Was expecting one of:
"&" ")" "." "::"
Virgil?? "<<" ">>" "COLLATE" "[" "^" "|"
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:190) at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:63) at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:38) at org.springframework.data.jpa.repository.query.JSqlParserQueryEnhancer.detectParsedType(JSqlParserQueryEnhancer.java:83) ... 75 common frames omitted Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "<=" <OP_MINORTHANEQUALS> at line 1, column 1648.
Was expecting one of:
"&" ")" "." "::" "<<" ">>" "COLLATE" "[" "^" "|"
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:31234) at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:31067) at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:9663) at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:9609) at net.sf.jsqlparser.parser.CCJSqlParser.XorExpression(CCJSqlParser.java:9591) at net.sf.jsqlparser.parser.CCJSqlParser.Expression(CCJSqlParser.java:9562) at net.sf.jsqlparser.parser.CCJSqlParser.WhenThenSearchCondition(CCJSqlParser.java:13048) at net.sf.jsqlparser.parser.CCJSqlParser.CaseWhenExpression(CCJSqlParser.java:12940) at net.sf.jsqlparser.parser.CCJSqlParser.PrimaryExpression(CCJSqlParser.java:11112) at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseXor(CCJSqlParser.java:10981) at net.sf.jsqlparser.parser.CCJSqlParser.MultiplicativeExpression(CCJSqlParser.java:10934) at net.sf.jsqlparser.parser.CCJSqlParser.AdditiveExpression(CCJSqlParser.java:10897) at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseAndOr(CCJSqlParser.java:10843)
引入mybatis-plus后,在spring-boot启动时,JPA使用CCJSqlParser对SQL进行解析处理。由于@Query中的Native SQL语法不完整,因此会报错:+Caused by: java.lang.IllegalArgumentException: The query you provided+
Caused by: java.lang.IllegalArgumentException: The query you provided is not a valid SQL Query! at org.springframework.data.jpa.repository.query.JSqlParserQueryEnhancer.detectParsedType(JSqlParserQueryEnhancer.java:95) at org.springframework.data.jpa.repository.query.JSqlParserQueryEnhancer.<init>(JSqlParserQueryEnhancer.java:72) at org.springframework.data.jpa.repository.query.QueryEnhancerFactory.forQuery(QueryEnhancerFactory.java:45) at org.springframework.data.jpa.repository.query.StringQuery.<init>(StringQuery.java:83) at org.springframework.data.jpa.repository.query.DeclaredQuery.of(DeclaredQuery.java:40) at org.springframework.data.jpa.repository.query.JpaQueryMethod.assertParameterNamesInAnnotatedQuery(JpaQueryMethod.java:158) at org.springframework.data.jpa.repository.query.JpaQueryMethod.<init>(JpaQueryMethod.java:139) at org.springframework.data.jpa.repository.query.DefaultJpaQueryMethodFactory.build(DefaultJpaQueryMethodFactory.java:44) at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy$AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:93) at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.lookupQuery(QueryExecutorMethodInterceptor.java:103) ... 66 common frames omitted Caused by: net.sf.jsqlparser.JSQLParserException: Encountered unexpected token: "<=" <OP_MINORTHANEQUALS> at line 1, column 1648.
Was expecting one of:
"&" ")" "." "::"
Virgil?? "<<" ">>" "COLLATE" "[" "^" "|"
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatement(CCJSqlParserUtil.java:190) at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:63) at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:38) at org.springframework.data.jpa.repository.query.JSqlParserQueryEnhancer.detectParsedType(JSqlParserQueryEnhancer.java:83) ... 75 common frames omitted Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "<=" <OP_MINORTHANEQUALS> at line 1, column 1648.
Was expecting one of:
"&" ")" "." "::" "<<" ">>" "COLLATE" "[" "^" "|"
at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:31234) at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:31067) at net.sf.jsqlparser.parser.CCJSqlParser.AndExpression(CCJSqlParser.java:9663) at net.sf.jsqlparser.parser.CCJSqlParser.OrExpression(CCJSqlParser.java:9609) at net.sf.jsqlparser.parser.CCJSqlParser.XorExpression(CCJSqlParser.java:9591) at net.sf.jsqlparser.parser.CCJSqlParser.Expression(CCJSqlParser.java:9562) at net.sf.jsqlparser.parser.CCJSqlParser.WhenThenSearchCondition(CCJSqlParser.java:13048) at net.sf.jsqlparser.parser.CCJSqlParser.CaseWhenExpression(CCJSqlParser.java:12940) at net.sf.jsqlparser.parser.CCJSqlParser.PrimaryExpression(CCJSqlParser.java:11112) at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseXor(CCJSqlParser.java:10981) at net.sf.jsqlparser.parser.CCJSqlParser.MultiplicativeExpression(CCJSqlParser.java:10934) at net.sf.jsqlparser.parser.CCJSqlParser.AdditiveExpression(CCJSqlParser.java:10897) at net.sf.jsqlparser.parser.CCJSqlParser.BitwiseAndOr(CCJSqlParser.java:10843)