Používanie bodkočiarok
Zvážte používanie bodkočiarok v dopytoch - môže to pôsobiť veľa problémov. Napr. ovládač typu NET pre DB2 spokojne skonzumuje dopyt ukončený bodkočiarkou. Žiaľ, JCC verzia ovládača sa zakusne a vyhlási syntaktickú chybu.
Vzťahy 1:1 s použitím ResultMapy a explicitné vzťahy
Majme
<resultMap class="libris.Book" id="bookRM" groupBy="id" >
<result property="id" column="id_book"/>
<result property="title" column="title"/>
<result property="status.requestsCount" column="request_count"/>
<result property="status.borrowedTo" column="borrowee"/>
<result property="series" resultMap="Book.seriesRM"/>
</resultMap>
a triedu
public class Book implements Serializable {
protected Integer id;
protected String title = new String();
private BookStatus status;
private SimpleSeries series = SimpleSeries.EMPTY_SERIES;
Všimnime si dve situácie:
- premenná
statusje vBooku nastavená nanulla v mapovaní je reprezentovaná pomocou explicitného stĺpcového mapovania. iBatis v tomto prípade vytvorí novú inštanciuBookStatusu a nastaví jejrequestCountaborrowedTozo stĺpcovrequest_countaborrowee. - premenná
seriesnie je vBooku nastavená nanull. Ak by sme mapovali pomocou explicitného stĺpcového mapovania, iBatis podľa všetkého nevie nastaviť hodnoty z príslušných stĺpcov na už existujúcej inštancii triedySimpleSeries. Obísť to možno pomocou použitia ďalšejresultMapy, čiže pomocou
<result property="series" resultMap="Book.seriesRM"/>