ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raúl Arabaolaza Barquín <raul.arabaol...@mundivia.net>
Subject M:N solution and populating arrays instead of List
Date Mon, 27 Mar 2006 13:35:38 GMT
Hi to all.


I have a Infracction Class with a List field called reclamacion wich is to be populated with
objects of Reclamation type, using the 1:N & N:M solution for N+1 querys i´m able to
populate this property with a simple query. Here the code I use:


public class Infraction extends BaseObject {

            private static final long serialVersionUID = 1L;


            private Integer idInfraccion;


            private java.lang.String codExpediente;







            private List reclamation;



With corresponding getters and setters


Reclamation class is a javabean


Here´s my sqlMap config file for Infraction:


<resultMap id="infraccionMapaReclamaciones" class="com.amap.multas.model.Infraction" extends="infractionMapa"

                        <result property="reclamacion" resultMap="Reclamation.reclamacionMapa"



<select id="findByPrimaryKeyWithReclamacion" resultMap="infraccionMapaReclamaciones" parameterClass="infraccion">



                        WHERE INFRACCION.ID_INFRACCION=#idInfraccion#



The only problem i have with this approach is that it always creates the Reclamation List
with at least one element with all fields with null value, but the List is there.

 I would like this List to be null, a TypeHandler for this property dosen´t seem to work
because Ibatis don´t set the List directly but it  makes calls to getReclamation().add(Object)

Anyone knows a solution for this issue apart from a manual parsing of the List after ibatis?


Apart of that, now my boss want me to change the reclamacion field´s type from List to Reclamacion[]
and the above solution didn´t work because Ibatis seems to not support arrays as types to
populate. I ´ve search the documentation and mailing list and all point to that. I have ways
to overcome this, creating a subclass of Infraction with List instead of array and use it
only from Ibatis, a getter method to transform and so on. 

But I would like to be sure there´s no way to do this from Ibatis before doing that, custom
TypeHandler seems not to be the solution because Ibatis don´t set a List directly, so...

There´s some way to accomplish this using Ibatis?


Thanks in advance and sorry for the long post and poor english.


Raúl Arabaolaza 





View raw message