[ 
https://issues.apache.org/jira/browse/OPENJPA-2018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Romain Manni-Bucau updated OPENJPA-2018:
----------------------------------------

    Attachment: OPENJPA-2018-test-update.patch

updating the test.

Note: I kept supported for runtime unenhancedclass cause ATM the parent is not 
hacking classloaders to do enhancement in test (it relies on mvn AFAIK) so it 
is not easy to work on tests without it and for this test this is enough.

> Cannot bind String[] to ParameterExpression for path.in(parameter)
> ------------------------------------------------------------------
>
>                 Key: OPENJPA-2018
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2018
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 2.1.0
>            Reporter: Oliver Gierke
>            Assignee: Michael Dick
>              Labels: binding, criteria_api, jpa
>         Attachments: OPENJPA-2018.patch, OPENJPA-2018-test-update.patch, 
> openjpa-2018.zip
>
>
> Given the following code:
> {code}
> User user = new User("Dave", "Matthews", "[email protected]");
> em.persist(user);
> em.flush();
> CriteriaBuilder builder = em.getCriteriaBuilder();
> CriteriaQuery<User> criteria = builder.createQuery(User.class);
> Root<User> root = criteria.from(User.class);
> criteria.where(root.get("firstname").in(builder.parameter(String[].class)));
> TypedQuery<User> query = em.createQuery(criteria);
> for (ParameterExpression parameter : criteria.getParameters()) {
>   query.setParameter(parameter, new String[] {"Dave", "Carter"});
> }
> List<User> result = query.getResultList();
> assertThat(result.isEmpty(), is(false));
> {code}
> I get a
> {code}
> <openjpa-2.0.0-r422266:935683 nonfatal user error> 
> org.apache.openjpa.persistence.ArgumentException: The specified parameter of 
> type "class [Ljava.lang.String;" is not a valid query parameter.
> {code}
> Using {{Collection}} as {{ParameterExpression}} type and binding the 
> parameters via {{Arrays.asList(...)}} works fine.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to