Use same resultmap in a result
------------------------------

                 Key: IBATIS-597
                 URL: https://issues.apache.org/jira/browse/IBATIS-597
             Project: iBatis for Java
          Issue Type: Wish
          Components: SQL Maps
         Environment: Not significant 
            Reporter: Emilio Gutiérrez León


Hello.

My question is about use of the one resultmap more than once in a result. 
Sample :

<resultMap id="personMapping" class="Person">
   ...
   <result property="name" column="NAME" />
   <result property="personalAdress" resultMap="AdressMapping />
   <result property="jobAdress"            resultMap="AdressMapping />
</resultMap>

<resultMap id="AdressMapping " class="Adress">
  ...
  <result property="street" column="STREET" />
  <result property="number" column="number" />
</resultMap>

<select id="person_find" parameterClass="Person" resultMap="personMapping">
                SELECT *
                    FROM PERSON, ADRESS personal, ADRESS job
                    WHERE PERSON_PERSONAL_ADDRESS_ID = personal.ADDRESS_ID 
                           AND PERSON_JOB_ADDRESS_ID = job.ADDRESS_ID
                           AND PERSON_ID = #id#
</select>       

<select id="adress_find" parameterClass="Adress" resultMap="adressMapping">
                SELECT *
                    FROM ADRESS 
                <dynamic prepend="where">
                        <isNotNull property="id" prepend=" and ">ADRESS_ID = 
#id#</isNotNull>
                </dynamic>
</select>       

When i use the select  'person_find', the result is composed by the data of the 
person, data of his personal adress and data of his job adress. When i see the 
result of the query in my person object, the personal adress and the job adress 
is the same because Ibatis can´t identify two mappings of the same table.

In this sample, the 'adress_find' take one adress if 'id' is completed or all 
adresses if 'id' is null. This is necesary in my application.

How can resolve this without duplicate 'address_find' ?

Thanks

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to