我有两个带有公共主键的表。现在我想从这两个表中获取数据并使用该主键在单个视图中显示。
如何在单域类中获取两个表数据?我如何指定映射?
例如
表-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
如何在单域类中获取两个表数据?
答案 0 :(得分:2)
这听起来像是一个外键关系,你只需在每个对象中使用belongsTo(提供一对一的关系)。 http://grails.org/doc/latest/ref/Domain%20Classes/belongsTo.html
否则,您可以在数据库上创建数据库视图,然后创建一个域对象以匹配该视图。基于数据库视图创建域与基于表创建域相同。
答案 1 :(得分:0)
几个选项
只需使用hql查询并加入主键
从两个表创建一个视图,并将新表映射到该视图
使用属于,当你访问一个对象然后访问另一个
答案 2 :(得分:-1)