ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clinton Begin <clinton.be...@gmail.com>
Subject Re: feature request for iBatis3
Date Thu, 17 Dec 2009 01:24:42 GMT
Can you create a jira ticket for this?  It might actually already
work, if we allow it in the DTD.

Clinton

On 2009-12-16, OBender <osya_bender@hotmail.com> wrote:
> Hi All,
>
>
>
> I guess this is a corner case but it is pretty important one for projects
> with legacy data models.
>
> Let say there is a table in DB that contains:
>
>
>
> Column                Type
>
> id                            int
>
> s1                            string
>
> s2                            string
>
> s3                            string
>
>
>
>
>
> Also let say it is modeled (historically) by two immutable objects:
>
>
>
> public class ObjX
>
> {
>
>                 private final int id;
>
>                 private final String s1;
>
>                 private final ObjY objY;
>
>
>
>                 public    ObjX( int id, String s1, ObjY objY )
>
> {
>
>                                 ...
>
>                 }
>
> }
>
>
>
> public class ObjY
>
> {
>
>                 private final String s2;
>
>                 private final String s3;
>
>
>
>                 public    ObjY( String s2, String s3 )
>
> {
>
>                                 ...
>
>                 }
>
> }
>
>
>
> In this case there seems to be no way to build a result map for ObjX in
> iBatis without changing ObjX code but what if we cannot change it?
>
>
>
> It would be nice if we could use resultMap in <constructor>/<arg> element.
>
> This way one could write something like:
>
>
>
> <resultMap type="ObjX" id="ObjXResult">
>
>         <constructor>
>
>             <idArg column="id" javaType="_int" />
>
>             <arg column="s1" javaType="String" />
>
>             <arg javaType="ObjY" resultMap="ObjYResult"/>
>
>         </constructor>
>
> </resultMap>
>
>
>
> <resultMap type="ObjY" id="ObjYResult">
>
>         <constructor>
>
>             <arg column="s2" javaType="String" />
>
>             <arg column="s3" javaType="String" />
>
>         </constructor>
>
> </resultMap>
>
>
>
> Comparable result could be achieved with TypeHandler but it will require
> column names to be hardcoded in the TypeHandler implementation also will
> require adding one TypeHandler per each such a case.
>
>
>
> Thanks
>
>

-- 
Sent from my mobile device

---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org


Mime
View raw message