Details
Description
Hi Ajay Aggarwal,
I think your query is correct and should work. According to the Java Persistence query language BNF the expression following the keyword SET might be a state_field and state_field includes navigation through an
embedded:
state_field ::=
*simple_state_field
I propose you file a JIRA issue.
Regards Michael
> I am trying to update a field of the embedded class using query, but
> its not working. In the following code, 'registration' is an embedded
> class field inside 'User' and 'authenticated' is a boolean field
> inside this embedded class.
>
>
>
> Query q = em.createQuery("UPDATE User s SET
> s.registration.authenticated = :auth");
>
> q.setParameter("auth", false);
>
>
>
> I am getting following error. What is the correct syntax for such a
> query?
>
>
>
> openjpa.persistence.ArgumentException: An error occurred while parsing
> the query filter 'UPDATE User s SET s.registration.authenticated =
> :auth'. Error message: <4|false|0.9.7>
> org.apache.openjpa.kernel.jpql.ParseException: Encountered "." at
> character 33, but expected: ["="].
>
>
>
> Thanks.
Attachments
Issue Links
- duplicates
-
OPENJPA-199 bulk update gets parsing exception trying to update an attribute of an embedded class
- Closed