[ 
https://issues.apache.org/jira/browse/IBATISNET-263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gilles Bayon closed IBATISNET-263.
----------------------------------

    Resolution: Fixed

in SVN

> Support for circular reference
> ------------------------------
>
>                 Key: IBATISNET-263
>                 URL: https://issues.apache.org/jira/browse/IBATISNET-263
>             Project: iBatis for .NET
>          Issue Type: Improvement
>          Components: DataMapper
>    Affects Versions: DataMapper 3.0
>            Reporter: Gilles Bayon
>            Assignee: Gilles Bayon
>            Priority: Minor
>             Fix For: DataMapper 3.0
>
>
> To avoid creation of new Instance of the same object during an ibatis 
> request, add the 'keys' attribute on resultMap tag to specify the properties 
> identifiers
> public class Order
> {
>       public Account {get;set}
>       ...
> }
> <resultMap id="account-constructor-circular" keys="identifiant"  
> class="Account" >
>       <constructor>
>               <argument argumentName="identifiant"    column="Account_ID"/>
>               <argument argumentName="firstName"    
> column="Account_FirstName"/>
>               <argument argumentName="lastName"     
> column="Account_LastName"/>
>       </constructor>
> </resultMap>
> <resultMap id="order-result-circular" extends="base-order-result" 
> class="Order">
>       <result property="Account" 
> resultMapping="Account.account-constructor-circular"/>
> </resultMap>
> <select id="GetOrderWithAcccount" resultMap="order-result-circular" >
>   SELECT
>   *
>   FROM
>   Orders o
>   JOIN
>   Accounts a
>   ON
>   o.Account_Id = A.Account_Id
> </select>
> List<Order> list = 
> (List<Order>)dataMapper.QueryForList<Order>("GetOrderWithAcccount", null);
> Account account1 = list.Find(delegate(Order order) { return order.Id==1; 
> }).Account;
> Account account2 = list.Find(delegate(Order order) { return order.Id == 10; 
> }).Account;
> Assert.That(account1, Is.SameAs(account2));

-- 
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