複数レコード(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>
  

©Camel engineering LLP