Hi,
I modified PersonRepository example, and it works for me:
@Query(value = "SELECT * FROM Person WHERE salary IN (?)")
public List<Person> findPersonBySalaryIn(List<Double> salaries);
Here you can see changes, that I have made:
https://github.com/shishkovilja/ignite/commit/b05fd27e41ea1179ba1e83ce369fc8b3c7482251
19.12.2019, 13:20, "张耀文" <[email protected]>:
the first method work fineAt 2019-12-19 18:15:52, "Ivan Pavlukhin" <[email protected]> wrote: >Hi, > >Clause "IN ?" seems broken to me. Do write your query manually? >Unfortunately I am not familiar with Spring JPA. But with spring >JdbcTemplate "?" can be only replaced with singular argument. >NamedParameterJdbcTemplate is able to expand plural (e.g. List) named >parameters. > >чт, 19 дек. 2019 г. в 13:05, Ilya Kasnacheev <[email protected]>: >> >> Hello! >> >> I don't think that we support Spring JPA. >> >> Is it possible to tune SQL dialect with JPA? In this case, your best bet is to use H2 dialect. >> >> Regards, >> -- >> Ilya Kasnacheev >> >> >> чт, 19 дек. 2019 г. в 10:43, 张耀文 <[email protected]>: >>> >>> hello, first sorry for poor english >>> when i use jpa with 'IN',it cause some problem, how can i resolve it? i confused about the _expression_ IN ?[*] . thanks >>> >>> ignite:2.7.6 >>> spring jpa:ignite-spring-data_2.0 >>> spring boot:2.0.9.RELEASE >>> h2:1.4.197 >>> >>> jpa method: List<BerthplanShipVisit> findByShipVisitIdIsIn(List<String> shipVisitIdList); or findByShipVisitIdIn >>> >>> issue track: >>> Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "SELECT ""BerthplanShipVisitCache"".""BerthplanShipVisit""._KEY, ""BerthplanShipVisitCache"".""BerthplanShipVisit""._VAL FROM ""BerthplanShipVisit"" WHERE ((""BerthplanShipVisit"".""shipVisitId"" IN ?[*]))"; expected "("; SQL statement: >>> SELECT "BerthplanShipVisitCache"."BerthplanShipVisit"._KEY, "BerthplanShipVisitCache"."BerthplanShipVisit"._VAL FROM "BerthplanShipVisit" WHERE (("BerthplanShipVisit"."shipVisitId" IN ?)) [42001-197] >>> at org.h2.message.DbException.getJdbcSQLException(DbException.java:357) >>> at org.h2.message.DbException.getSyntaxError(DbException.java:217) >>> at org.h2.command.Parser.getSyntaxError(Parser.java:555) >>> at org.h2.command.Parser.read(Parser.java:3518) >>> at org.h2.command.Parser.readCondition(Parser.java:2433) >>> at org.h2.command.Parser.readAnd(Parser.java:2342) >>> at org.h2.command.Parser.readExpression(Parser.java:2334) >>> at org.h2.command.Parser.readTerm(Parser.java:3252) >>> at org.h2.command.Parser.readFactor(Parser.java:2587) >>> at org.h2.command.Parser.readSum(Parser.java:2574) >>> at org.h2.command.Parser.readConcat(Parser.java:2544) >>> at org.h2.command.Parser.readCondition(Parser.java:2370) >>> at org.h2.command.Parser.readAnd(Parser.java:2342) >>> at org.h2.command.Parser.readExpression(Parser.java:2334) >>> at org.h2.command.Parser.readTerm(Parser.java:3252) >>> at org.h2.command.Parser.readFactor(Parser.java:2587) >>> at org.h2.command.Parser.readSum(Parser.java:2574) >>> at org.h2.command.Parser.readConcat(Parser.java:2544) >>> at org.h2.command.Parser.readCondition(Parser.java:2370) >>> at org.h2.command.Parser.readAnd(Parser.java:2342) >>> at org.h2.command.Parser.readExpression(Parser.java:2334) >>> at org.h2.command.Parser.parseSelectSimple(Parser.java:2291) >>> at org.h2.command.Parser.parseSelectSub(Parser.java:2133) >>> at org.h2.command.Parser.parseSelectUnion(Parser.java:1946) >>> at org.h2.command.Parser.parseSelect(Parser.java:1919) >>> at org.h2.command.Parser.parsePrepared(Parser.java:463) >>> at org.h2.command.Parser.parse(Parser.java:335) >>> at org.h2.command.Parser.parse(Parser.java:311) >>> at org.h2.command.Parser.prepareCommand(Parser.java:278) >>> at org.h2.engine.Session.prepareLocal(Session.java:611) >>> at org.h2.engine.Session.prepareCommand(Session.java:549) >>> at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1247) >>> at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:76) >>> at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:694) >>> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepare0(IgniteH2Indexing.java:539) >>> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatement(IgniteH2Indexing.java:509) >>> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatement(IgniteH2Indexing.java:476) >>> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.prepareStatementAndCaches(IgniteH2Indexing.java:2635) >>> ... 89 common frames omitted >>> >>> >>> > > > >-- >Best regards, >Ivan Pavlukhin
