0

我希望这可能很明显,但我找不到一个我认为可以回答我的问题的例子。

我有一个我无法修改的 SQL 数据库,其中有两个表,分别与主键/外键链接(分别为 test_scenario 和 test_exec_queue,因此 test_scenario 的 PK 值可以在 test_exec_queue 中多次显示)以及当我在屏幕上显示数据时我想要它,而不是显示来自 test_exec_queue 的 FK 值,我希望它使用它从 test_scenario 表中获取 testScenarioName 并显示它。

到目前为止,我的课程看起来像这样,但我不知道要放入什么来执行上述逻辑,还是我在其他地方这样做?在控制器中?任何帮助表示赞赏

class TestExecQueue {

    static constraints = {
        testscenarioid(blank:false, editable:false)
        myPriority(inList:[0,1,2,3,4], blank:false)
        myState(inList:["READY"], blank:false)
    }

    static mapping = {
        table "test_exec_queue"
        version false
        columns{

            id column:"test_exec_queue_id"
            testscenarioid column:"test_scenario_id"
            myPriority column:"Priority"
            myState column:"State"
        }
    }

    Integer testscenarioid
    Integer myPriority
    String myState
}
4

1 回答 1

0

除了已经实现的类之外,您还需要创建一个映射test_scenario表的类。TestExecQueue

在您的TestExecQueue班级中,您将按班级链接到场景,而不是通过整数字段:

class TestExecQueue {
    static mapping = {
        scenario column:'test_scenario_id'
    }

    TestScenario scenario
}

注意:这是映射关系的一个示例,您应该查看Grails 文档的域建模部分以了解其他选项。

类的显示完全取决于您的控制器和视图,这需要您进行更多详细说明才能清楚地回答。一种选择是在public toString()要打印的类上设置方法。

于 2013-03-15T16:20:06.410 回答