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 ::= {embedded_class_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.




--
[EMAIL PROTECTED] Engineering GmbH  Tel.: +49/(0)30/235 520-33
Buelowstr. 66                Fax.: +49/(0)30/217 520-12
10783 Berlin mailto:[EMAIL PROTECTED]
Geschaeftsfuehrung: Anna-Kristin Proefrock
Sitz Berlin, Amtsgericht Charlottenburg, HRB 564 52

Reply via email to