openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Prud'hommeaux <mprud...@apache.org>
Subject Re: update query syntax for embedded class field
Date Wed, 05 Dec 2007 23:05:10 GMT

I think we might only support setting top-level attributes, but you  
are right: it does look like we are supposed to support navigation  
through an arbitrary number of 1-1 relations.


On Dec 5, 2007, at 2:59 PM, Michael Bouschen wrote:

> 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.
>>
>>
>>
>>
>
>
> -- 
> Tech@Spree Engineering GmbH  Tel.: +49/(0)30/235 520-33
> Buelowstr. 66                Fax.: +49/(0)30/217 520-12
> 10783 Berlin                 mailto:mbo.tech@spree.de  
> Geschaeftsfuehrung: Anna-Kristin Proefrock
> Sitz Berlin, Amtsgericht Charlottenburg, HRB 564 52
>


Mime
View raw message