MyBatis,集合的嵌套结果为空

问题描述:

我在MyBatis网站中创建一个具有嵌套集合的映射器,当我执行select操作时,我的对象(Provider)返回,但其中的集合( ProviderParameter)是空的,当我转到数据库工具并应用相同的查询时,我得到预期的结果(集合也返回)。MyBatis,集合的嵌套结果为空

这里是我的映射:

<resultMap id="Provider" type="xxx.Provider"> 
     <result column="idProvider" property="idProvider"/> 
     <result column="providerType" property="providerType"/> 
     <result column="username" property="username"/> 
     <result column="password" property="password"/> 
     <result column="licenceInformation" property="licenseInformation"/> 
     <collection property="parameters" ofType="xxx.ProviderParameter"> 
      <result column="idProviderParameter" property="idProviderParameter"/> 
      <result column="name" property="name"/> 
      <result column="value" property="value"/> 
     </collection> 
    </resultMap> 

和选择:

<select id="getProviderById" resultType="xxx.Provider"> 
    select P.idProvider   as idProvider 
      ,P.providerType  as providerType 
      ,P.username   as username 
      ,P.password   as password 
      ,P.licenceInformation as licenceInformation 
      ,PP.idProviderParameter as idProviderParameter 
      ,PP.name    as name 
      ,PP.value    as value 
    from [dbo].[msg_Provider] AS P 
    left outer join [dbo].[msg_ProviderParameter] AS PP on P.idProvider = PP.idProvider  
    where P.idProvider = #{idProvider} 
</select> 

我的问题是,在选择我把与resultType而不是resultMap,但

所以选择应该是如:

<select id="getProviderById" resultMap="Provider"> 
    select P.idProvider   as idProvider 
      ,P.providerType  as providerType 
      ,P.username   as username 
      ,P.password   as password 
      ,P.licenceInformation as licenceInformation 
      ,PP.idProviderParameter as idProviderParameter 
      ,PP.name    as name 
      ,PP.value    as value 
    from [dbo].[msg_Provider] AS P 
    left outer join [dbo].[msg_ProviderParameter] AS PP on P.idProvider = PP.idProvider  
    where P.idProvider = #{idProvider} 
</select>