[
https://issues.apache.org/jira/browse/OPENJPA-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12900886#action_12900886
]
Catalina Wei commented on OPENJPA-1750:
---------------------------------------
Heikki,
1. please clarify,
are you using collection-valued parameter ?
if yes, then the syntax should be:
where a.state in :STATE
otherwise, you are passing a single enum value, then IN predicate should be
enclosed in parenthesis
where a.state in (:STATE)
if you have more than one enum parameter, use common separator that looks like:
where a.state IN (:STATE1, :STATE2, ...)
2. This problem chould have resolved by OPENJPA-1719 and OPENJPA-1738
Could you try openjpa-2.1.0 SNAPSHOT, see if the problem still exists ?
> Prepared query with enum parameter fails when query is cached
> -------------------------------------------------------------
>
> Key: OPENJPA-1750
> URL: https://issues.apache.org/jira/browse/OPENJPA-1750
> Project: OpenJPA
> Issue Type: Bug
> Components: query
> Affects Versions: 2.0.0
> Reporter: Heikki Turakainen
>
> A prepared query with an enum parameter fails when exactly the same query is
> executed again. In other words, it works once, when the query is not cached
> yet.
> The exception: org.springframework.dao.InvalidDataAccessApiUsageException:
> The specified parameter of type " ... " is not a valid query parameter.
> An example query string is:
> select distinct a from MyClass a where a.state in (:STATE)
> where the STATE is a list of enums.
> There is a temporary workaround to bypass the cache with
> query.setHint(QueryHints.HINT_IGNORE_PREPARED_QUERY, queryString);
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.