You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by ib...@aladin.ca on 2006/06/15 21:29:09 UTC

isPropertyAvailable doesn't work as expected...

Hello,

I have two simple queries which I am trying to combine using
<isPropertyAvailable...> but it doesn't seem to work as expected.

Query 1: SELECT requestid FROM users WHERE name = 'test'
Query 2: SELECT count(*) FROM users WHERE name = 'test'

IN XML:
=======
<select id="getResult" resultClass="java.util.Hashtable"
cacheModel="memory-cache">
SELECT
<isPropertyAvailable property="count"> count(*) </isPropertyAvailable>
<isNotPropertyAvailable property="count"> requestid </isNotPropertyAvailable>
FROM users WHERE name = 'test'
</select>

RESULT:
=======
[DEBUG] - Query key=getResult, params={} (getObjects)
[DEBUG] - Query key=getResult, params={count=count} (getObjects)
[ERROR] -
--- The error occurred in queries.xml.
--- The error occurred while applying a result map.
--- Check the getResult-AutoResultMap.
--- Check the result mapping for the 'requestid' property.
--- Cause: org.postgresql.util.PSQLException: The column name requestid
was not found in this ResultSet. (getObjects)

I always get an error in the second query I call.  Am I missing something
here?

Thanks.
Aladin

Re: isPropertyAvailable doesn't work as expected...

Posted by ib...@aladin.ca.
Problem solved: use <sql> and <include>.

Aladin


>
> I have two simple queries which I am trying to combine using
> <isPropertyAvailable...> but it doesn't seem to work as expected.
>
> Query 1: SELECT requestid FROM users WHERE name = 'test'
> Query 2: SELECT count(*) FROM users WHERE name = 'test'
>
> IN XML:
> =======
> <select id="getResult" resultClass="java.util.Hashtable"
> cacheModel="memory-cache">
> SELECT
> <isPropertyAvailable property="count"> count(*) </isPropertyAvailable>
> <isNotPropertyAvailable property="count"> requestid
> </isNotPropertyAvailable>
> FROM users WHERE name = 'test'
> </select>
>
> RESULT:
> =======
> [DEBUG] - Query key=getResult, params={} (getObjects)
> [DEBUG] - Query key=getResult, params={count=count} (getObjects)
> [ERROR] -
> --- The error occurred in queries.xml.
> --- The error occurred while applying a result map.
> --- Check the getResult-AutoResultMap.
> --- Check the result mapping for the 'requestid' property.
> --- Cause: org.postgresql.util.PSQLException: The column name requestid
> was not found in this ResultSet. (getObjects)
>
> I always get an error in the second query I call.  Am I missing something
> here?
>
> Thanks.
> Aladin
>


Re: isPropertyAvailable doesn't work as expected...

Posted by Jeff Butler <je...@gmail.com>.
You'll have to do remapResults="true" in this case - because you are
changing the result set in the same query.

Jeff Butler


On 6/15/06, ibatis@aladin.ca <ib...@aladin.ca> wrote:
>
> Hello,
>
> I have two simple queries which I am trying to combine using
> <isPropertyAvailable...> but it doesn't seem to work as expected.
>
> Query 1: SELECT requestid FROM users WHERE name = 'test'
> Query 2: SELECT count(*) FROM users WHERE name = 'test'
>
> IN XML:
> =======
> <select id="getResult" resultClass="java.util.Hashtable"
> cacheModel="memory-cache">
> SELECT
> <isPropertyAvailable property="count"> count(*) </isPropertyAvailable>
> <isNotPropertyAvailable property="count"> requestid
> </isNotPropertyAvailable>
> FROM users WHERE name = 'test'
> </select>
>
> RESULT:
> =======
> [DEBUG] - Query key=getResult, params={} (getObjects)
> [DEBUG] - Query key=getResult, params={count=count} (getObjects)
> [ERROR] -
> --- The error occurred in queries.xml.
> --- The error occurred while applying a result map.
> --- Check the getResult-AutoResultMap.
> --- Check the result mapping for the 'requestid' property.
> --- Cause: org.postgresql.util.PSQLException: The column name requestid
> was not found in this ResultSet. (getObjects)
>
> I always get an error in the second query I call.  Am I missing something
> here?
>
> Thanks.
> Aladin
>

Re: isPropertyAvailable doesn't work as expected...

Posted by puneet arya <pu...@yahoo.co.in>.
hi,
     Y dnt you use join statement for this.

ibatis@aladin.ca wrote:
  Hello,

I have two simple queries which I am trying to combine using
but it doesn't seem to work as expected.

Query 1: SELECT requestid FROM users WHERE name = 'test'
Query 2: SELECT count(*) FROM users WHERE name = 'test'

IN XML:
=======
cacheModel="memory-cache">SELECT count(*)  requestid FROM users WHERE name = 'test'

RESULT:
=======
[DEBUG] - Query key=getResult, params={} (getObjects)
[DEBUG] - Query key=getResult, params={count=count} (getObjects)
[ERROR] -
--- The error occurred in queries.xml.
--- The error occurred while applying a result map.
--- Check the getResult-AutoResultMap.
--- Check the result mapping for the 'requestid' property.
--- Cause: org.postgresql.util.PSQLException: The column name requestid
was not found in this ResultSet. (getObjects)

I always get an error in the second query I call. Am I missing something
here?

Thanks.
Aladin


 				
---------------------------------
  Yahoo! India Answers: Share what you know. Learn something new Click here
 Send free SMS to your Friends on Mobile from your Yahoo! Messenger Download now