Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-461

JPQL: navigation through embedded class field does not work

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 0.9.7
    • 1.0.0
    • query
    • None
    • BEA WebLogic Server 10

    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 ::=

      {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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ajay662 Ajay Aggarwal
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: