JPQL {code:sql} SELECT u FROM User u WHERE u.name IN :param0 {code}
When this query executing we have different native query that depends on collection size. Examples: Collection has size 5: {code:sql} select user0_.id as id1_0_, user0_.name as name2_0_ from users user0_ where user0_.name in ( ? , ? , ? , ?, ? ) {code} ; Collection has size 15: {code:sql} select user0_.id as id1_0_, user0_.name as name2_0_ from users user0_ where user0_.name in ( ? , ? , ? , ?, ?, ? , ? , ? , ?, ?, ? , ? , ? , ?, ? ) {code}
In PostgreSQL we can use that query: {code:sql} select user0_.id as id1_0_, user0_.name as name2_0_ from users user0_ where user0_.name = ANY(?) {code} In Java we use: {code:java} final Array varcharArray = connection.createArrayOf("varchar", new String[]{"Andrey"}); statement.setArray(1, varcharArray); statement.execute(); {code} Do you like this idea? |
|