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

columns fill wrong entity fields when names same in joined tables

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Invalid
    • 1.1.0
    • None
    • None
    • None
    • Linux 2.6, JDK 1.5.0_12, MySQL 4 or H2

    Description

      OpenJPA is mixing up the mapping of columns from joined tables, where the two
      tables have fields with the same name used on their respective entities. I've
      got some basic unit tests aimed at verifying the problem. Is there something
      wrong with my mappings or is this a bug? I can upload the unit test project.

      Here's the info. The TITLE fields get mixed up. I have this query:

      select species from Species species

      I have this output:

      SELECT t0.ID, t1.ID, t1.OWNER_ID, t1.TITLE, t0.IUCN_STATUS_ID, t0.OWNER_ID,
      t0.TITLE FROM PUBLIC.SPECIES t0 LEFT OUTER JOIN PUBLIC.GENUS t1 ON t0.GENUS_ID =
      t1.ID

      These are the mappings:

      <entity class="org.permacode.atomictest.domain.Genus">
      <table name="GENUS" />
      <attributes>
      <id name="id">
      <column name="ID" />
      <generated-value strategy="TABLE" generator="genusKeySequence" />
      </id>
      <basic name="title">
      <column name="TITLE" />
      </basic>
      <basic name="ownerId">
      <column name="OWNER_ID" />
      </basic>
      <one-to-many name="species" mapped-by="genus">
      <cascade>
      <cascade-persist />
      <cascade-merge />
      <cascade-refresh />
      </cascade>
      </one-to-many>
      </attributes>
      </entity>

      <entity class="org.permacode.atomictest.domain.Species">
      <table name="SPECIES" />
      <attributes>
      <id name="id">
      <column name="ID" />
      <generated-value strategy="TABLE" generator="speciesKeySequence" />
      </id>
      <basic name="title">
      <column name="TITLE" />
      </basic>
      <basic name="iucnStatus">
      <column name="IUCN_STATUS_ID" />
      <enumerated>ORDINAL</enumerated>
      </basic>
      <basic name="ownerId">
      <column name="OWNER_ID" />
      </basic>
      <many-to-one name="genus">
      <join-column name="GENUS_ID" />
      </many-to-one>
      </attributes>
      </entity>

      Attachments

        1. issue496.jar
          13 kB
          Patrick Linskey
        2. bug.zip
          31 kB
          Adam Hardy

        Issue Links

          Activity

            People

              Unassigned Unassigned
              adam.hardy@cyberspaceroad.com Adam Hardy
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: