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

speed up query metadata lookup

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.2.0, 2.3.0
    • 2.2.2, 2.2.1.1, 2.3.0
    • performance, query
    • None
    • Patch Available

    Description

      I noticed right now the queryKey is used as the map key for metadataRepository._queries, but when it goes to look up, it always uses query name. The query metadata lookup would be faster if we switch to query name as the key.

      I double checked the JPA Spec and OPENJPA menu, it seems only support the named query creation using query name, which means the query name should be unique in one EntityManager. It doesn't matter in which entity the query is defined. So using name as the map look up key should be good enough.

      when there are two queries with the same name defined in the different entities, it will only keep the query metadata for the first loaded named query and ignore the rest plus log a warning message like this:
      WARN [main] openjpa.MetaData - Ignoring duplicate query "X" in "class org.apache.openjpa.A". A query with the same name been already declared in "class org.apache.openjpa.B".

      Attachments

        1. OPENJPA-2295a.patch
          0.6 kB
          Helen Xu
        2. OPENJPA-2295.patch
          6 kB
          Helen Xu

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            helenxu Helen Xu
            helenxu Helen Xu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment