Grails - 单域类中的多个表

时间:2011-12-29 17:05:05

标签: grails gorm grails-plugin grails-domain-class grails-controller

我有两个带有公共主键的表。现在我想从这两个表中获取数据并使用该主键在单个视图中显示。

如何在单域类中获取两个表数据?我如何指定映射?

例如

表-A和表-B都在单一模式ABC

class X {
   int id
   String name

   static mapping = {
      table name: "Table-A", schema: "ABC"
      columns {
         name column:'name'
      }
   }
}

现在我想从表-B获取地址,以便我的视图如下所示

ID  NAME  ADDRESS
2   HSJHD  23 X-Street Washington USA

如何在单域类中获取两个表数据?

3 个答案:

答案 0 :(得分:2)

这听起来像是一个外键关系,你只需在每个对象中使用belongsTo(提供一对一的关系)。 http://grails.org/doc/latest/ref/Domain%20Classes/belongsTo.html

否则,您可以在数据库上创建数据库视图,然后创建一个域对象以匹配该视图。基于数据库视图创建域与基于表创建域相同。

答案 1 :(得分:0)

几个选项

  1. 只需使用hql查询并加入主键

  2. 即可
  3. 从两个表创建一个视图,并将新表映射到该视图

  4. 使用属于,当你访问一个对象然后访问另一个

答案 2 :(得分:-1)