我浏览互联网,但我找不到我的问题的答案。应该很简单:
class Parent {
String name
Child child
}
当我有一个子对象时,我怎样才能得到它? 喜欢:
def Parent = Parent.findByChild(child)
我如何通过它获取父对象?
感谢
答案 0 :(得分:3)
这些域类是什么?如果是这样,那么您可以通过has_many和belongs_to:
连接它们class Parent {
String name
List children
static has_many = [ children: Child ]
}
class Child {
static belongs_to = [ parent: Parent ]
}
然后你可以写child.parent
答案 1 :(得分:0)
def parent = Parent.findByChild(child)
运行正常 - 您可以将动态查找器用于标量字段(字符串,数字,布尔值等)和其他对象。
执行相反的操作并查找给定Child
的所有Parent
个实例的内容稍微复杂一些,但可以使用HQL完成:
def p = Parent.get(id)
def children = Parent.executeQuery(
'select c from Child c, Parent p where p.child=c and p=:parent',
[parent: p])