0

3 つのテーブル、シナリオ、フォーム、および 2 つを接続するためのリンク テーブルがあります。フォームは複数のシナリオに属することができ、シナリオは複数のフォームを持つことができます。リンク テーブルにはその関係情報が保持されます。グレイルで?存在するテーブルの構造を変更することはできません... :/

リンク テーブルの構造は単純です。

form_id (matches PK of form table)
test_scenario_id (matches the PK on the test scenario table)
[order] (defines the order in which the forms should display)

プレーンな古い SQL 内では、次のように結合を利用できますが、それを Groovy に変換する方法がわかりません: -

select lnk_scenario_form.test_scenario_id, dbo.lnk_scenario_form.[order], dbo.form.form_id
from dbo.form
JOIN lnk_scenario_form on form.form_id = lnk_scenario_form.form_id 
JOIN dbo.test_scenario on dbo.test_scenario.test_scenario_id = lnk_scenario_form.test_scenario_id
where lnk_scenario_form.test_scenario_id = SCENARIO ID
order by lnk_scenario_form.[order];

これまでに設定したクラスは次のとおりです。

class Form {


    static constraints = {
        formDesc(blank:false,maxSize:100)
        }

    static mapping = {
        table "form"
        version false
        columns{
            id column:"form_id"
            formDesc column:"description"
        }
    }

    String formDesc
}

package fartframework

class TestScenario {


    static constraints = {
        testscenariodesc(blank:false, maxSize:100, unique: true)
        browser(inList:["RND","FF","CH","IE"], blank:false)
        myrelease(blank:false, maxSize:10)
        system(blank:false, maxSize:50)
        subSystem(blank:false, maxSize:50)
    }

    static mapping = {
        table "test_scenario"
        version false
        columns{
            id column:"test_scenario_id"
            testscenariodesc column:"description"
            browser column:"browser"
            myrelease column:"release"
            system column:"system"
            subSystem column:"subSystem"
        }
    }

    String testscenariodesc
    String browser
    String myrelease
    String system
    String subSystem

    String toString (){
        "${testscenariodesc}"
    }

}
4

0 に答える 0