複数レコード(findの処理結果)の移送
複数レコードをすべて永続化して移送
(記述例)
下記の例では、検索結果:USER_LISTをDataBeanに項目名「SUBLIST1」として移送します。
<rule id="sample">
<run>
<select id="USER_LIST" entity="SYS_USER" type="find">
<where>
<data key="USER_CODE" map="USER_CODE" type="eq" def="NULL" />
</where>
</select>
</run>
<mapping>
<data map="USER_LIST" key="SUBLIST1" persistent="true" />
</mapping>
</rule>
複数レコードの内、指定行数分のみを永続化して移送
(記述例)
下記の例では、検索結果:USER_LISTをDataBeanに項目名「SUBLIST1」として移送します。
この際、1ページ(100行)分のみを移送し、ページネーションを実現します。
<rule id="sample">
<run>
<select id="USER_LIST" entity="SYS_USER" type="find">
<where>
<data key="USER_CODE" map="USER_CODE" type="eq" def="NULL" />
</where>
</select>
</run>
<mapping>
<data map="USER_LIST" key="SUBLIST1" persistent="false" rows="100" />
</mapping>
</rule>
💡ページネーションは、表示中の所定行数のデータのみをメモリーに保管(非永続化)し、
ページ移動の際にはデータベースの再検索を行うことでメモリーの消費を抑制する機能です。
検索結果のDBアクセサーをそのまま移送
Domain model component(DMC)で取得したデータを永続化は行わず
DBアクセサーのまま一旦保持し、移送をDataBean側のルールで行うための機能です。
※ページネーションの処理はDMCでは判断できないためDataBean側のルールで行う必要がある。
(記述例)
下記例では、複数レコードの検索結果「USER_LIST」をDataBeanにそのまま移送
<rule id="sample">
<run>
<select id="USER_LIST" entity="SYS_USER" type="find">
<where>
<data key="USER_CODE" map="USER_CODE" type="eq" def="NULL" />
</where>
</select>
</run>
<mapping>
<data map="USER_LIST" key="USER_DETAIL" persistent="native" />
</mapping>
</rule>