Mine
was a syntax error. It was actually returning more than one record and it should
have.
It was
a question of the data format. I needed to check a sequence number field =
1.
It was
a screw up on my part in the sql still I didn't see it right away and it was
driving me nuts
for an
hour or so. Stronger coffee did the trick.
-----Original Message-----i also meet the same problem using select in a resultmap and eagering to know how to resolve it.
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 20, 2005 8:38 PM
To: ibatis-user-java@incubator.apache.org
Subject: Re: queryForList vs queryForObject
2005/4/21, Engel, Gregory A <[EMAIL PROTECTED] >:
> With the follwing result map using a list property "contact" works perfectly
> and always returns a single value as expected.
> However if I use an object property "primaryContact" I get the following
> error.
>
> --- The error occurred in
> com/tms/ede/server/persistance/dao/sqlmapdao/sourcesmaps/maps/EDEProgservMap.xml.
>
> --- The error occurred while applying a result map.
> --- Check the EDEProgservRSMap_Primary.
> --- Check the result mapping for the 'primaryContact' property.
> --- Cause: java.sql.SQLException: Error: executeQueryForObject returned too
> many results.
> Caused by: java.sql.SQLException: Error: executeQueryForObject returned too
> many results.
> I can't understand what's going on here. I always get a single value in the
> returned list which is what I want but if I use the
> same query with a query for object I get an error.
>
> Heres the resultmap
>
> <resultMap id="EDEProgservRSMap_Primary"
> class="com.tms.ede.server.persistance.dao.sqlmapdao.sourcesmaps.vo.EDEProgservVO ">
> <result property="id" column="progserv_id"/>
> <result property="statusId" column="progserv_status_id"/>
> <result property="sourceId" column="source_id"/>
> <result property="curTmsCallSign" column="call_sign_text"/>
> <result property="sourceName" column="source_name"/>
> <result property="finderText" column="source_finder_text"/>
> <!--result property="contacts" column="source_id"
> select="getPrimaryContactVOBy_SourceId_PrimaryOnly"/-->
> <result property="primaryContact" column="source_id"
> select="getPrimaryContactVOBy_SourceId_PrimaryOnly"/>
> </resultMap>
>
> Here's the sql map...
>
> <statement id="getPrimaryContactVOBy_SourceId_PrimaryOnly"
> parameterClass="java.lang.Long"
> resultClass="com.tms.ede.server.persistance.dao.sqlmapdao.sourcesmaps.vo.PrimaryContactVO"
> resultMap="PrimaryContactRSMap"
> >
>
> SELECT
> source.source_id,
> source_contact.contact_group_owner_id,
> source_contact_group.contact_id,
> contact.contact_type_id,
> contact.first_name,
> contact.last_name ,
> contact.job_title,
> contact.email_address,
> contact.department
> FROM
> source,
> source_contact,
> source_contact_group,
> contact
> WHERE
> source.source_id = #value#
> AND
> source.source_id=source_contact.source_id
> AND
> source_contact.contact_group_owner_id=source_contact_group.contact_group_owner_id
> AND
> source_contact_group.contact_id= contact.contact_id
> AND
> contact.contact_type_id = 57
> </statement>
--
任增刚
[EMAIL PROTECTED]
[EMAIL PROTECTED]