0

以下のエンティティ定義:

<entity name="mission" dataSource="mssqlDatasource" pk="id" 
        transformer="TemplateTransformer, ClobTransformer" 
        query="SELECT m.id, m.notes, m.missionFocus,m.start_time, 
                      mar.id AS market, mar.name AS marketName 
               FROM mission m 
               INNER JOIN market mar ON m.market = mar.id">

    <field column="start_time" name="startTime" />
    <field column="market" name="market" />
    <field column="marketName" name="marketName" clob="true" />
    <field column="tableType" template="MISSION" />

    <entity name="comment" dataSource="mssqlDatasource" 
            transformer="ClobTransformer" 
            query="SELECT c.message 
                   FROM comment c 
                   WHERE c.source_id = '${mission.id}' AND c.source_type = 'mission'">
        <field name="commentMessage" column="message" clob="true" />
    </entity>

    <entity name="activity" dataSource="mssqlDatasource" 
            query="SELECT a.notes 
                   FROM activity a 
                   WHERE a.mission = '${mission.id}'">
        <field name="activityNotes" column="notes" />
    </entity>        

    <entity name="location" dataSource="mssqlDatasource" 
                query="SELECT l.name 
                       FROM location l 
                       WHERE l.id = '${activity.id}'">
        <field name="locationName" column="name" />            
    </entity>        
</entity>

私の問題は、ネストされたエンティティ「アクティビティ」が「activityNotes」という2つのフィールドと、ネストされたエンティティ「ロケーション」からのフィールド「ロケーション名」を返す必要があることです。どうすればそれを理解できますか?両方のフィールドにインデックスを付ける必要があります.両方の文字列を結合する唯一のチャンスはありますか?

4

1 に答える 1

0

ScriptUpdateProcessorでそれを行うことができます。それらはDIHから別々のフィールドで取得するだけですが、UpdateProcessorでは、それらを追加して3番目のフィールドに挿入できます。4.0では、ScriptUpdateProcessorを使用してJavaコードなしでそれを実行できるはずです。

于 2012-10-16T08:24:44.483 に答える