Hello,

Can anybody tell me what I'm doing wrong? I want my query to return a sorted list.

Here are the relevant parts from my boek_SqlMap.xml (which is included in SqlMapConfig.xml)

<resultMap class="nl.lunaris.bookdb.model.database.Book" id="BoekResultMap">
  <result column="ISBN" jdbcType="VARCHAR" property="isbn" />
  <result column="Titel" jdbcType="VARCHAR" property="title" />
  <result column="Uitgever" jdbcType="INTEGER" property="publisher" />
  <result column="Subgenre" jdbcType="INTEGER" property="subgenre" />
  <result column="Taal" jdbcType="INTEGER" property="language" />
<result column="Beschrijving" jdbcType="LONGVARCHAR" property="description" />
  <result property="authors" resultMap="boek.Auteurlijst" />
</resultMap>

<resultMap class="nl.lunaris.bookdb.model.database.BookHasAuthorKey" id="Auteurlijst">
    <result column="AUTEUR_ID" jdbcType="INTEGER" property="id" />
    <result column="ISBN" jdbcType="VARCHAR" property="isbn" />
</resultMap>

<select id="selectSelective" parameterClass="nl.lunaris.bookdb.model.frontend.SearchCriteria" resultMap="BoekResultMap"> select b.ISBN, b.Titel, b.Uitgever, b.Subgenre, b.Taal, b.Beschrijving, a.ID as AUTEUR_ID
    from boek b
    join boek_has_auteur a ON b.ISBN = a.ISBN
    join boek_exemplaar e on b.ISBN = e.ISBN
  <dynamic prepend="where ">
    <isNotNull prepend="AND" property="isbn">
      b.ISBN = #isbn:VARCHAR#
    </isNotNull>
    <isNotNull prepend="AND" property="owner">
      e.eigenaar = #owner:INTEGER#
    </isNotNull>
    <isNotNull prepend="AND" property="publisher">
      b.Uitgever = #publisher.id:INTEGER#
    </isNotNull>
    <isNotNull prepend="AND" property="subgenre">
      b.Subgenre = #subgenre.id:INTEGER#
    </isNotNull>
    <isNotNull prepend="AND" property="language">
      b.Taal = #language.id:INTEGER#
    </isNotNull>
    <isNotNull prepend="AND" property="authors">
      a.ID = #authors.id:INTEGER#
    </isNotNull>
  </dynamic>
  <dynamic prepend="order by ">
    <isNotNull property="sort">
      #sort:VARCHAR# #sortAsc:VARCHAR#
    </isNotNull>
  </dynamic>
</select>


And here is the code I am calling it with:
List result = sqlMapClient.queryForList("boek.selectSelective", key);


I can see in my logging that the query is called and filled with the right parameters: 2009-07-15 15:14:50,299 DEBUG [PreparedStatement] {pstm-100019} Executing Statement: select b.ISBN, b.Titel, b.Uitgever, b.Subgenre, b.Taal, b.Beschrijving, a.ID as AUTEUR_ID from boek b join boek_has_auteur a ON b.ISBN = a.ISBN join boek_exemplaar e on b.ISBN = e.ISBN where e.eigenaar = ? order by ? ? 2009-07-15 15:14:50,299 DEBUG [PreparedStatement] {pstm-100019} Parameters: [1, titel, asc]

Regards,
Linda van der Pal


---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org
For additional commands, e-mail: user-java-h...@ibatis.apache.org

Reply via email to