You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by Kevin Sutter <kw...@gmail.com> on 2006/09/18 18:37:19 UTC
Does OpenJPA support updating of related objects via JPQL?
Hi,
Does OpenJPA (or JPA, for tha matter) support the updating of related
objects via JPQL? For example, should the following query work where we are
attempting to access the orderId on the related currentOrder object?
UPDATE Customer c SET c.currentOrder.orderId = :orderId WHERE c.id =
:customerId
As you can guess, we are getting an exception and call stack from OpenJPA.
But, then we started wondering whether this is even supported by the JPA
spec. The spec isn't clear one way or the other (or, at least, I couldn't
find a definitive answer). Any ideas?
In case you were wondering, here's the call stack:
[9/16/06 16:15:52:953 EDT] 00000032 ExceptionUtil E CNTR0020E: EJB threw
an unexpected (non-declared) exception during invocation of method
"openOrder" on bean "BeanId(OpenJPATestEAR#OpenJPATest.jar#OrderEJB, null)".
Exception data: <4|false|0.9.0-incubating-SNAPSHOT>
org.apache.openjpa.persistence.ArgumentException: An error occurred while
parsing the query filter 'UPDATE Customer c SET c.currentOrder.orderId =
:orderId WHERE c.id = :customerId'. Error message:
<4|false|0.9.0-incubating-SNAPSHOT>
org.apache.openjpa.kernel.jpql.ParseException: Encountered "." at character
37, but expected: ["="].
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.parse
(JPQLExpressionBuilder.java:1655)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL
.<init>(JPQLExpressionBuilder.java:1638)
at org.apache.openjpa.kernel.jpql.JPQLParser.parse(JPQLParser.java:44)
at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(
ExpressionStoreQuery.java:141)
at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java
:598)
at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(
QueryImpl.java:581)
at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java
:608)
at org.apache.openjpa.kernel.QueryImpl.getOperation(QueryImpl.java:1421)
at org.apache.openjpa.kernel.DelegatingQuery.getOperation(
DelegatingQuery.java:120)
at org.apache.openjpa.persistence.QueryImpl.executeUpdate(QueryImpl.java
:293)
:
:
Thanks,
Kevin
Re: Does OpenJPA support updating of related objects via JPQL?
Posted by Kevin Sutter <kw...@gmail.com>.
Marc,
Thanks. And, I fully understand that any change would be more than just
extending the parser... :-)
Kevin
On 9/18/06, Marc Prud'hommeaux <mp...@apache.org> wrote:
>
> Kevin-
>
> On Sep 18, 2006, at 11:19 AM, Kevin Sutter wrote:
>
> > Thanks Craig and Marc,
> > I had found this reference in the spec, but it still wasn't clear
> > to me.
> > Maybe I'm reading it wrong, but the BNF states (in Section 4.10):
> >
> > update_item ::= [identification_variable.] {state_field |
> > single_valued_association_field} = new_value
> >
> > I couldn't find the definition of the
> > "single_valued_association_field". I
> > was wondering if there was any implication that this might allow for
> > referenced fields. But, as I continue to look at the spec, I
> > suppose if
> > that was to be allowed, they would have specified
> > "single_valued_association_path_expression"? Is that the way you
> > guys are
> > reading the spec?
>
> Yeah, they seem to have left "single_valued_association_field" out of
> the BNF, only describing it textually:
>
> "A single_valued_association_field is designated by the name of an
> association-field in a one-to-one or many-to-one relationship. The
> type of a single_valued_association_field and thus a
> single_valued_association_path_expression is the abstract schema type
> of the related entity."
>
> This is a little vague, but give the following path expression BNF:
>
> single_valued_association_path_expression ::= identification_variable.
> {single_valued_association_field.}*single_valued_association_field
>
> ... I think it is reasonable to infer that
> "single_valued_association_field" is meant to only be a single field,
> not a series of fields (or else the "*" would not be required).
>
> (in any case, even if the BNF did support it, the OpenJPA back-end
> doesn't efficiently handle anything but updating the top-level fields
> of an entity, so it would be more than just a matter of extending/
> fixing the parser to support this)
>
>
>
> > Even the BNF for "state field" implies that this would work if
> > currentOrder
> > was an embedded class...
> >
> > state_field ::= {embedded_class_state_field.}*simple_state_field
> >
> > Thanks,
> > Kevin
> >
> > On 9/18/06, Craig L Russell <Cr...@sun.com> wrote:
> >>
> >> Hi,
> >>
> >> The JPQL BNF prohibits this operation. From 4.10:
> >>
> >> update_statement ::= update_clause [where_clause]
> >> update_clause ::=UPDATE abstract_schema_name [[AS]
> >> identification_variable]
> >> SET update_item {, update_item}*
> >> update_item ::= [identification_variable.]{state_field |
> >> single_valued_association_field}=
> >> new_value
> >>
> >> The update_item must be an identification variable followed by a
> >> single "." with a state field or single-valued association field, so
> >> no embedded object.
> >>
> >> Craig
> >>
> >> On Sep 18, 2006, at 9:37 AM, Kevin Sutter wrote:
> >>
> >> > Hi,
> >> > Does OpenJPA (or JPA, for tha matter) support the updating of
> >> related
> >> > objects via JPQL? For example, should the following query work
> >> > where we are
> >> > attempting to access the orderId on the related currentOrder
> >> object?
> >> >
> >> > UPDATE Customer c SET c.currentOrder.orderId = :orderId WHERE
> >> c.id =
> >> > :customerId
> >> >
> >> > As you can guess, we are getting an exception and call stack from
> >> > OpenJPA.
> >> > But, then we started wondering whether this is even supported by
> >> > the JPA
> >> > spec. The spec isn't clear one way or the other (or, at least, I
> >> > couldn't
> >> > find a definitive answer). Any ideas?
> >> >
> >> > In case you were wondering, here's the call stack:
> >> >
> >> > [9/16/06 16:15:52:953 EDT] 00000032 ExceptionUtil E CNTR0020E:
> >> > EJB threw
> >> > an unexpected (non-declared) exception during invocation of method
> >> > "openOrder" on bean "BeanId
> >> > (OpenJPATestEAR#OpenJPATest.jar#OrderEJB, null)".
> >> > Exception data: <4|false|0.9.0-incubating-SNAPSHOT>
> >> > org.apache.openjpa.persistence.ArgumentException: An error occurred
> >> > while
> >> > parsing the query filter 'UPDATE Customer c SET
> >> > c.currentOrder.orderId =
> >> > :orderId WHERE c.id = :customerId'. Error message:
> >> > <4|false|0.9.0-incubating-SNAPSHOT>
> >> > org.apache.openjpa.kernel.jpql.ParseException: Encountered "." at
> >> > character
> >> > 37, but expected: ["="].
> >> > at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder
> >> > $ParsedJPQL.parse
> >> > (JPQLExpressionBuilder.java:1655)
> >> > at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder
> >> $ParsedJPQL
> >> > .<init>(JPQLExpressionBuilder.java:1638)
> >> > at org.apache.openjpa.kernel.jpql.JPQLParser.parse
> >> > (JPQLParser.java:44)
> >> > at
> >> org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(
> >> > ExpressionStoreQuery.java:141)
> >> > at org.apache.openjpa.kernel.QueryImpl.newCompilation
> >> > (QueryImpl.java
> >> > :598)
> >> > at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(
> >> > QueryImpl.java:581)
> >> > at org.apache.openjpa.kernel.QueryImpl.compileForExecutor
> >> > (QueryImpl.java
> >> > :608)
> >> > at org.apache.openjpa.kernel.QueryImpl.getOperation
> >> > (QueryImpl.java:1421)
> >> > at org.apache.openjpa.kernel.DelegatingQuery.getOperation(
> >> > DelegatingQuery.java:120)
> >> > at org.apache.openjpa.persistence.QueryImpl.executeUpdate
> >> > (QueryImpl.java
> >> > :293)
> >> > :
> >> > :
> >> >
> >> > Thanks,
> >> > Kevin
> >>
> >> Craig Russell
> >> Architect, Sun Java Enterprise System http://java.sun.com/products/
> >> jdo
> >> 408 276-5638 mailto:Craig.Russell@sun.com
> >> P.S. A good JDO? O, Gasp!
> >>
> >>
> >>
> >>
>
>
Re: Does OpenJPA support updating of related objects via JPQL?
Posted by Marc Prud'hommeaux <mp...@apache.org>.
Kevin-
On Sep 18, 2006, at 11:19 AM, Kevin Sutter wrote:
> Thanks Craig and Marc,
> I had found this reference in the spec, but it still wasn't clear
> to me.
> Maybe I'm reading it wrong, but the BNF states (in Section 4.10):
>
> update_item ::= [identification_variable.] {state_field |
> single_valued_association_field} = new_value
>
> I couldn't find the definition of the
> "single_valued_association_field". I
> was wondering if there was any implication that this might allow for
> referenced fields. But, as I continue to look at the spec, I
> suppose if
> that was to be allowed, they would have specified
> "single_valued_association_path_expression"? Is that the way you
> guys are
> reading the spec?
Yeah, they seem to have left "single_valued_association_field" out of
the BNF, only describing it textually:
"A single_valued_association_field is designated by the name of an
association-field in a one-to-one or many-to-one relationship. The
type of a single_valued_association_field and thus a
single_valued_association_path_expression is the abstract schema type
of the related entity."
This is a little vague, but give the following path expression BNF:
single_valued_association_path_expression ::= identification_variable.
{single_valued_association_field.}*single_valued_association_field
... I think it is reasonable to infer that
"single_valued_association_field" is meant to only be a single field,
not a series of fields (or else the "*" would not be required).
(in any case, even if the BNF did support it, the OpenJPA back-end
doesn't efficiently handle anything but updating the top-level fields
of an entity, so it would be more than just a matter of extending/
fixing the parser to support this)
> Even the BNF for "state field" implies that this would work if
> currentOrder
> was an embedded class...
>
> state_field ::= {embedded_class_state_field.}*simple_state_field
>
> Thanks,
> Kevin
>
> On 9/18/06, Craig L Russell <Cr...@sun.com> wrote:
>>
>> Hi,
>>
>> The JPQL BNF prohibits this operation. From 4.10:
>>
>> update_statement ::= update_clause [where_clause]
>> update_clause ::=UPDATE abstract_schema_name [[AS]
>> identification_variable]
>> SET update_item {, update_item}*
>> update_item ::= [identification_variable.]{state_field |
>> single_valued_association_field}=
>> new_value
>>
>> The update_item must be an identification variable followed by a
>> single "." with a state field or single-valued association field, so
>> no embedded object.
>>
>> Craig
>>
>> On Sep 18, 2006, at 9:37 AM, Kevin Sutter wrote:
>>
>> > Hi,
>> > Does OpenJPA (or JPA, for tha matter) support the updating of
>> related
>> > objects via JPQL? For example, should the following query work
>> > where we are
>> > attempting to access the orderId on the related currentOrder
>> object?
>> >
>> > UPDATE Customer c SET c.currentOrder.orderId = :orderId WHERE
>> c.id =
>> > :customerId
>> >
>> > As you can guess, we are getting an exception and call stack from
>> > OpenJPA.
>> > But, then we started wondering whether this is even supported by
>> > the JPA
>> > spec. The spec isn't clear one way or the other (or, at least, I
>> > couldn't
>> > find a definitive answer). Any ideas?
>> >
>> > In case you were wondering, here's the call stack:
>> >
>> > [9/16/06 16:15:52:953 EDT] 00000032 ExceptionUtil E CNTR0020E:
>> > EJB threw
>> > an unexpected (non-declared) exception during invocation of method
>> > "openOrder" on bean "BeanId
>> > (OpenJPATestEAR#OpenJPATest.jar#OrderEJB, null)".
>> > Exception data: <4|false|0.9.0-incubating-SNAPSHOT>
>> > org.apache.openjpa.persistence.ArgumentException: An error occurred
>> > while
>> > parsing the query filter 'UPDATE Customer c SET
>> > c.currentOrder.orderId =
>> > :orderId WHERE c.id = :customerId'. Error message:
>> > <4|false|0.9.0-incubating-SNAPSHOT>
>> > org.apache.openjpa.kernel.jpql.ParseException: Encountered "." at
>> > character
>> > 37, but expected: ["="].
>> > at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder
>> > $ParsedJPQL.parse
>> > (JPQLExpressionBuilder.java:1655)
>> > at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder
>> $ParsedJPQL
>> > .<init>(JPQLExpressionBuilder.java:1638)
>> > at org.apache.openjpa.kernel.jpql.JPQLParser.parse
>> > (JPQLParser.java:44)
>> > at
>> org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(
>> > ExpressionStoreQuery.java:141)
>> > at org.apache.openjpa.kernel.QueryImpl.newCompilation
>> > (QueryImpl.java
>> > :598)
>> > at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(
>> > QueryImpl.java:581)
>> > at org.apache.openjpa.kernel.QueryImpl.compileForExecutor
>> > (QueryImpl.java
>> > :608)
>> > at org.apache.openjpa.kernel.QueryImpl.getOperation
>> > (QueryImpl.java:1421)
>> > at org.apache.openjpa.kernel.DelegatingQuery.getOperation(
>> > DelegatingQuery.java:120)
>> > at org.apache.openjpa.persistence.QueryImpl.executeUpdate
>> > (QueryImpl.java
>> > :293)
>> > :
>> > :
>> >
>> > Thanks,
>> > Kevin
>>
>> Craig Russell
>> Architect, Sun Java Enterprise System http://java.sun.com/products/
>> jdo
>> 408 276-5638 mailto:Craig.Russell@sun.com
>> P.S. A good JDO? O, Gasp!
>>
>>
>>
>>
Re: Does OpenJPA support updating of related objects via JPQL?
Posted by Kevin Sutter <kw...@gmail.com>.
Thanks Craig and Marc,
I had found this reference in the spec, but it still wasn't clear to me.
Maybe I'm reading it wrong, but the BNF states (in Section 4.10):
update_item ::= [identification_variable.] {state_field |
single_valued_association_field} = new_value
I couldn't find the definition of the "single_valued_association_field". I
was wondering if there was any implication that this might allow for
referenced fields. But, as I continue to look at the spec, I suppose if
that was to be allowed, they would have specified
"single_valued_association_path_expression"? Is that the way you guys are
reading the spec?
Even the BNF for "state field" implies that this would work if currentOrder
was an embedded class...
state_field ::= {embedded_class_state_field.}*simple_state_field
Thanks,
Kevin
On 9/18/06, Craig L Russell <Cr...@sun.com> wrote:
>
> Hi,
>
> The JPQL BNF prohibits this operation. From 4.10:
>
> update_statement ::= update_clause [where_clause]
> update_clause ::=UPDATE abstract_schema_name [[AS]
> identification_variable]
> SET update_item {, update_item}*
> update_item ::= [identification_variable.]{state_field |
> single_valued_association_field}=
> new_value
>
> The update_item must be an identification variable followed by a
> single "." with a state field or single-valued association field, so
> no embedded object.
>
> Craig
>
> On Sep 18, 2006, at 9:37 AM, Kevin Sutter wrote:
>
> > Hi,
> > Does OpenJPA (or JPA, for tha matter) support the updating of related
> > objects via JPQL? For example, should the following query work
> > where we are
> > attempting to access the orderId on the related currentOrder object?
> >
> > UPDATE Customer c SET c.currentOrder.orderId = :orderId WHERE c.id =
> > :customerId
> >
> > As you can guess, we are getting an exception and call stack from
> > OpenJPA.
> > But, then we started wondering whether this is even supported by
> > the JPA
> > spec. The spec isn't clear one way or the other (or, at least, I
> > couldn't
> > find a definitive answer). Any ideas?
> >
> > In case you were wondering, here's the call stack:
> >
> > [9/16/06 16:15:52:953 EDT] 00000032 ExceptionUtil E CNTR0020E:
> > EJB threw
> > an unexpected (non-declared) exception during invocation of method
> > "openOrder" on bean "BeanId
> > (OpenJPATestEAR#OpenJPATest.jar#OrderEJB, null)".
> > Exception data: <4|false|0.9.0-incubating-SNAPSHOT>
> > org.apache.openjpa.persistence.ArgumentException: An error occurred
> > while
> > parsing the query filter 'UPDATE Customer c SET
> > c.currentOrder.orderId =
> > :orderId WHERE c.id = :customerId'. Error message:
> > <4|false|0.9.0-incubating-SNAPSHOT>
> > org.apache.openjpa.kernel.jpql.ParseException: Encountered "." at
> > character
> > 37, but expected: ["="].
> > at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder
> > $ParsedJPQL.parse
> > (JPQLExpressionBuilder.java:1655)
> > at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL
> > .<init>(JPQLExpressionBuilder.java:1638)
> > at org.apache.openjpa.kernel.jpql.JPQLParser.parse
> > (JPQLParser.java:44)
> > at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(
> > ExpressionStoreQuery.java:141)
> > at org.apache.openjpa.kernel.QueryImpl.newCompilation
> > (QueryImpl.java
> > :598)
> > at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(
> > QueryImpl.java:581)
> > at org.apache.openjpa.kernel.QueryImpl.compileForExecutor
> > (QueryImpl.java
> > :608)
> > at org.apache.openjpa.kernel.QueryImpl.getOperation
> > (QueryImpl.java:1421)
> > at org.apache.openjpa.kernel.DelegatingQuery.getOperation(
> > DelegatingQuery.java:120)
> > at org.apache.openjpa.persistence.QueryImpl.executeUpdate
> > (QueryImpl.java
> > :293)
> > :
> > :
> >
> > Thanks,
> > Kevin
>
> Craig Russell
> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
>
>
>
>
Re: Does OpenJPA support updating of related objects via JPQL?
Posted by Craig L Russell <Cr...@Sun.COM>.
Hi,
The JPQL BNF prohibits this operation. From 4.10:
update_statement ::= update_clause [where_clause]
update_clause ::=UPDATE abstract_schema_name [[AS]
identification_variable]
SET update_item {, update_item}*
update_item ::= [identification_variable.]{state_field |
single_valued_association_field}=
new_value
The update_item must be an identification variable followed by a
single "." with a state field or single-valued association field, so
no embedded object.
Craig
On Sep 18, 2006, at 9:37 AM, Kevin Sutter wrote:
> Hi,
> Does OpenJPA (or JPA, for tha matter) support the updating of related
> objects via JPQL? For example, should the following query work
> where we are
> attempting to access the orderId on the related currentOrder object?
>
> UPDATE Customer c SET c.currentOrder.orderId = :orderId WHERE c.id =
> :customerId
>
> As you can guess, we are getting an exception and call stack from
> OpenJPA.
> But, then we started wondering whether this is even supported by
> the JPA
> spec. The spec isn't clear one way or the other (or, at least, I
> couldn't
> find a definitive answer). Any ideas?
>
> In case you were wondering, here's the call stack:
>
> [9/16/06 16:15:52:953 EDT] 00000032 ExceptionUtil E CNTR0020E:
> EJB threw
> an unexpected (non-declared) exception during invocation of method
> "openOrder" on bean "BeanId
> (OpenJPATestEAR#OpenJPATest.jar#OrderEJB, null)".
> Exception data: <4|false|0.9.0-incubating-SNAPSHOT>
> org.apache.openjpa.persistence.ArgumentException: An error occurred
> while
> parsing the query filter 'UPDATE Customer c SET
> c.currentOrder.orderId =
> :orderId WHERE c.id = :customerId'. Error message:
> <4|false|0.9.0-incubating-SNAPSHOT>
> org.apache.openjpa.kernel.jpql.ParseException: Encountered "." at
> character
> 37, but expected: ["="].
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder
> $ParsedJPQL.parse
> (JPQLExpressionBuilder.java:1655)
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL
> .<init>(JPQLExpressionBuilder.java:1638)
> at org.apache.openjpa.kernel.jpql.JPQLParser.parse
> (JPQLParser.java:44)
> at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(
> ExpressionStoreQuery.java:141)
> at org.apache.openjpa.kernel.QueryImpl.newCompilation
> (QueryImpl.java
> :598)
> at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(
> QueryImpl.java:581)
> at org.apache.openjpa.kernel.QueryImpl.compileForExecutor
> (QueryImpl.java
> :608)
> at org.apache.openjpa.kernel.QueryImpl.getOperation
> (QueryImpl.java:1421)
> at org.apache.openjpa.kernel.DelegatingQuery.getOperation(
> DelegatingQuery.java:120)
> at org.apache.openjpa.persistence.QueryImpl.executeUpdate
> (QueryImpl.java
> :293)
> :
> :
>
> Thanks,
> Kevin
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!
Re: Does OpenJPA support updating of related objects via JPQL?
Posted by Marc Prud'hommeaux <mp...@apache.org>.
Kevin-
The only thing that can be updated in a bulk update statement is a
field in the Entity that is the subject of the UPDATE statement
without any traversals, as per:
4.10 Bulk Update and Delete Operations
Bulk update and delete operations apply to entities of a single
entity class (together with its subclasses, if any). Only one entity
abstract schema type may be specified in the FROM or UPDATE clause.
The syntax of these operations is as follows:
update_statement ::= update_clause [where_clause]
update_clause ::= UPDATE abstract_schema_name [[AS]
identification_variable] SET update_item {, update_item}*
update_item ::= [identification_variable.]{state_field |
single_valued_association_field} = new_value
On Sep 18, 2006, at 9:37 AM, Kevin Sutter wrote:
> Hi,
> Does OpenJPA (or JPA, for tha matter) support the updating of related
> objects via JPQL? For example, should the following query work
> where we are
> attempting to access the orderId on the related currentOrder object?
>
> UPDATE Customer c SET c.currentOrder.orderId = :orderId WHERE c.id =
> :customerId
>
> As you can guess, we are getting an exception and call stack from
> OpenJPA.
> But, then we started wondering whether this is even supported by
> the JPA
> spec. The spec isn't clear one way or the other (or, at least, I
> couldn't
> find a definitive answer). Any ideas?
>
> In case you were wondering, here's the call stack:
>
> [9/16/06 16:15:52:953 EDT] 00000032 ExceptionUtil E CNTR0020E:
> EJB threw
> an unexpected (non-declared) exception during invocation of method
> "openOrder" on bean "BeanId
> (OpenJPATestEAR#OpenJPATest.jar#OrderEJB, null)".
> Exception data: <4|false|0.9.0-incubating-SNAPSHOT>
> org.apache.openjpa.persistence.ArgumentException: An error occurred
> while
> parsing the query filter 'UPDATE Customer c SET
> c.currentOrder.orderId =
> :orderId WHERE c.id = :customerId'. Error message:
> <4|false|0.9.0-incubating-SNAPSHOT>
> org.apache.openjpa.kernel.jpql.ParseException: Encountered "." at
> character
> 37, but expected: ["="].
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder
> $ParsedJPQL.parse
> (JPQLExpressionBuilder.java:1655)
> at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL
> .<init>(JPQLExpressionBuilder.java:1638)
> at org.apache.openjpa.kernel.jpql.JPQLParser.parse
> (JPQLParser.java:44)
> at org.apache.openjpa.kernel.ExpressionStoreQuery.newCompilation(
> ExpressionStoreQuery.java:141)
> at org.apache.openjpa.kernel.QueryImpl.newCompilation
> (QueryImpl.java
> :598)
> at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(
> QueryImpl.java:581)
> at org.apache.openjpa.kernel.QueryImpl.compileForExecutor
> (QueryImpl.java
> :608)
> at org.apache.openjpa.kernel.QueryImpl.getOperation
> (QueryImpl.java:1421)
> at org.apache.openjpa.kernel.DelegatingQuery.getOperation(
> DelegatingQuery.java:120)
> at org.apache.openjpa.persistence.QueryImpl.executeUpdate
> (QueryImpl.java
> :293)
> :
> :
>
> Thanks,
> Kevin