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

Table name defined in XML mapping file is not used when executing a named query.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.2.2, 2.3.0, 2.4.0
    • 2.2.3, 2.4.0
    • query
    • None

    Description

      Take this simple entity:

      @Entity
      @javax.persistence.NamedQuery(name = "TableNameInXmlEntity.findAll", query = "SELECT t FROM TableNameInXmlEntity t")
      public class TableNameInXmlEntity implements Serializable {
      @Id
      private int myid;
      .......

      Take this simple XML mapping entry:

      <entity-mappings..........
      <entity class="org.apache.openjpa.persistence.xml.TableNameInXmlEntity">
      <table name="TableNameInXml"/>
      </entity>
      </entity-mappings>

      With this code, take the following test to execute the named query:

      Query q = em.createNamedQuery("TableNameInXmlEntity.findAll");
      q.getResultList();

      The following SQL will be generated:

      SELECT t0.myid FROM TableNameInXmlEntity t0

      Notice that 'TableNameInXmlEntity' is used, rather than 'TableNameInXml' (i.e. the name defined in the XML mapping file).

      Rather than executing a named query, if we execute a query like the following:

      Query q = em.createQuery("SELECT t FROM TableNameInXmlEntity t");
      q.getResultList();

      The following (correct) SQL will be executed:

      SELECT t0.myid FROM TableNameInXml t0

      Finally, if we executed the above query, and THEN execute the named query, all will work as expected.

      I have a test I'll upload shortly which recreates the issue.

      Thanks,

      Heath

      Attachments

        1. OPENJPA-2533-2.2.x.test
          8 kB
          Heath Thomann

        Activity

          People

            curtisr7 Richard G. Curtis
            jpaheath Heath Thomann
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: