Title: Sub-List in Result Map Problem.

I am having a problem with nested resultmaps and the sub-lists.  I have 2 Result Maps.  One contains a collection

Of the second map.  The second map maps a complex property.  When I execute the query and the are no properties that are

Related, I still get a property in the properties collection.  The property is not persisted and is all default or NULL values.

I want the properties property of CronJobDefinition to be empty if not matches are found in the database.  Is this possible in iBatis?

Below are my result map definitions:

<resultMap id="CronJobDefinition" class="com.reged.model.cron.CronJobDefinition" groupBy="cronJobId">

        <result property="cronJobId" column="cronJobId" javaType="int" jdbcType="NUMERIC" nullValue="-1"/>

        <result property="className" column="jobClass" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="frequency.frequencyId" column="frequencyId" javaType="int" jdbcType="NUMERIC" nullValue="-1"/>

        <result property="frequency.type" column="frequencyType" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="frequency.description" column="frequencyDescription" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="description" column="jobDescription" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="active" column="Active" javaType="boolean" jdbcType="BIT" nullValue="false"/>

        <result property="companyId" column="CompanyId" javaType="int" jdbcType="NUMERIC" nullValue="-1"/>

<result property="properties" resultMap="CronJob.CronJobPropertyDefinition"/>          

</resultMap>

<resultMap id="CronJobPropertyDefinition" class="com.reged.model.cron.CronJobPropertyDefinition">

        <result property="cronJobPropertyId" column="cronJobPropertyId" javaType="int" jdbcType="NUMERIC" nullValue="-1"/>

        <result property="className" column="propertyClass" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="key" column="key" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="value" column="Value" javaType="java.lang.String" jdbcType="VARCHAR"/>       

<result property="description" column="propertyDescription" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="type.cronJobPropertyTypeId" column="typeId" javaType="int" jdbcType="NUMERIC" nullValue="-1"/>

        <result property="type.type" column="type" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="type.description" column="typeDescription" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="type.className"  column="propertyClass" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="type.keyLabel" column="keyLabel" javaType="java.lang.String" jdbcType="VARCHAR"/>

        <result property="type.isAttribute" column="attribute" javaType="boolean" jdbcType="BIT" nullValue="false"/>

        <result property="type.valueLabel" column="valueLabel" javaType="java.lang.String" jdbcType="VARCHAR"/>

</resultMap>

Reply via email to