You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-cs@ibatis.apache.org by Guilhem Berthalon <gu...@aroban.com> on 2007/02/14 17:29:30 UTC

Problem with groupBy Attribute

Hi,

I’m testing Ibatis DataMapper for .net and i’ve a problem with groupBy
Attribute in a resultMap.

Wen I try to get a list of objects, I get a NullReference Exception with the
queryForList<T> method.

 

This my file :

 

<?xml version="1.0" encoding="UTF-8" ?>

<sqlMap namespace="ProduitDeclinaison"
xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >

  <alias>

    <typeAlias alias="ProduitDeclinaison"
type="Aroban.SF.Business.ProduitDeclinaison, Aroban.SF.Business" />    

    <typeAlias alias="ProduitStock" type="Aroban.SF.Business.ProduitStock,
Aroban.SF.Business" />    

    <typeAlias alias="ProduitDeclinaisonList"
type="Aroban.SF.Business.ProduitDeclinaisonList, Aroban.SF.Business"/>

    <typeAlias alias="ProduitStockList"
type="Aroban.SF.Business.ProduitStockList, Aroban.SF.Business" />    

 

  </alias>

  <resultMaps>

    <resultMap id="result_select" class="ProduitDeclinaison" groupBy="Id">

      <constructor>

        <argument argumentName="designationXML"
column="ProduitGeneriqueDesignation"/>

      </constructor>

      <result property="Id" column="ProduitDeclinaisonId"/>

      <result property="FournisseurId"
column="ProduitDeclinaisonFournisseurId"/>

      <result property="ProduitGeneriqueId"
column="ProduitDeclinaisonProduitGeneriqueId"/>

      <result property="NomenclatureProduitId"
column="ProduitDeclinaisonNomenclatureProduitId"/>

      <result property="Reference" column="ProduitDeclinaisonReference"/>

      <result property="Poids" column="ProduitDeclinaisonPoids"/>

      <result property="Dimension" column="ProduitDeclinaisonDimension"/>

      <result property="ChargePourcentage"
column="ProduitDeclinaisonChargePourcentage"/>

      <result property="ConstitutionFinalisee"
column="ProduitDeclinaisonConstitutionFinalisee"/>

      <result property="CodePays" column="ProduitDeclinaisonCodePays"/>

      <result property="CNUF" column="ProduitDeclinaisonCNUF"/>

      <result property="CIP" column="ProduitDeclinaisonCIP"/>

      <result property="CodeBarre" column="ProduitDeclinaisonCodeBarre"/>

      <result property="TauxDeMarge"
column="ProduitDeclinaisonTauxDeMarge"/>

      <result property="Photo" column="ProduitDeclinaisonPhoto"/>

      <result property="Obsolete" column="ProduitDeclinaisonObsolete"/>

      <result property="DateCreation"
column="ProduitDeclinaisonDateCreation"/>

      <result property="TimeStamp" column="ProduitDeclinaisonTimeStamp"/>

      <result property="StockList"
resultMapping="ProduitDeclinaison.resultStock"/>

    </resultMap>

    <resultMap id="resultStock" class="ProduitStock">

      <result property="Id" column="ProduitStockId"/>

      <result property="Quantite" column="ProduitStockQuantite"/>

      <result property="StockId" column="ProduitStockStockId"/>

      <result property="ProduitDeclinaisonId"
column="ProduitStockProduitDeclinaisonId"/>

      <result property="StockIntitule" column="StockIntitule"/>

      <result property="DateCreation" column="ProduitStockDateCreation"/>

      <result property="TimeStamp" column="ProduitStockTimeStamp"/>

    </resultMap>

  </resultMaps>

  

  <!-- Section Requête et procédure -->

  <statements>

    <statement id="SelectProduitDeclinaison" parameterClass="int"
resultMap="result_select">

      select *

      from ProduitDeclinaison

      left outer join ProduitStock

      on ProduitDeclinaison.ProduitDeclinaisonId =
ProduitStock.ProduitStockProduitDeclinaisonId

      left join Stock

      on StockId = ProduitStockStockId

      inner join ProduitGenerique

      on ProduitGeneriqueId = ProduitDeclinaisonProduitGeneriqueId

      <isNotParameterPresent>

        Where ProduitDeclinaisonId = #Id#

      </isNotParameterPresent>

    </statement>

  </statements>

</sqlMap>

 

Could you help me? ,

Best regards,

 

 




 

Guilhem Berthalon

AROBAN

28 rue des teinturiers

84 000 AVIGNON

tel : 04 32 76 23 60

Hotline : 04 90 85 89 29