[
https://issues.apache.org/jira/browse/IBATIS-596?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12708538#action_12708538
]
Kai Grabfelder commented on IBATIS-596:
---------------------------------------
Sounds like an interesting feature. Could you add a testcase against the
current trunk? An updated iBATIS-SqlMaps-2_en.sxw file documenting your change
would also be great.
> Null-References for sub selects with lazy loading
> -------------------------------------------------
>
> Key: IBATIS-596
> URL: https://issues.apache.org/jira/browse/IBATIS-596
> Project: iBatis for Java
> Issue Type: Improvement
> Components: SQL Maps
> Affects Versions: 2.3.4
> Reporter: Stefan Gmeiner
> Fix For: 2.3.5
>
> Attachments: null-proxy.patch
>
>
> We are using the iBatis enhanced (cglib) proxy for lazy loading our
> sub-select bean references.
> Unfortunately if a reference is null iBatis creates a proxy with
> null content. This makes using lazy loading less transparent to clients as
> they are required
> to execute further checks to see if the returned object is null.
> Hence we are suggesting a simple solution which is attached as a patch:
> A proxy for a lazy loaded object is now only created if the foreign key is
> non-null.
> When using the curly braces syntax (parameter map) a postfix '?' is required
> to activate
> the new lazy loading otherwise the existing strategy is used. This allows for
> the possibility
> of subselects requiring a null value as foreign key.
> Example:
> <result property="jobs" column="job_pk" select="selectJob"/>
> This will return null if job_pk is null and a proxy for the job is job_pk is
> not null.
> <result property="jobs" column="{transportIdentifier=job_pk}"
> select="selectJob"/>
> This will always return a proxy object irrespective of the job_pk value.
> <result property="jobs" column="{transportIdentifier=job_pk?}"
> select="selectJob"/>
> This will return null if job_pk is null and a proxy for the job is job_pk is
> not null.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.