我有一个Section域,看起来像这样。我从它建立导航和下段或子段顺序的故事,例如:新闻中心>犯罪>火车大劫案查询grails树对象
class Section {
String name;
String path
Section parent;
Boolean active = true;
int level = 0;
Boolean isRoot = false;
static hasMany = [children:Section]
static mappedBy = [children:'parent']
static mapping = {
parent :'all-delete-orphan'
parent lazy:true
}
}
,看起来像这样
class Story
{
String title;
String story;
List link;
List substory;
List picture;
Section publishUnder
boolean parent = false;
boolean approved = false;
Date dateCreated;
Date lastUpdated;
static belongsTo = [author:Author]
static hasMany=
[
link:String,
substory:Story,
picture:Picture
]
}
故事领域我们有7个节:
首页,新闻,体育,旅游,科技,文化和评论,并与家庭之外,他们都有孩子部分
如:新闻都会有LEVE l下面包含英国,欧洲,美国,然后美国可以有另一层儿童部分包含政治和犯罪部分。如上所述的故事存储在部分下。因此,一个故事“奥巴马Impeached”将作为其发布价值
新闻>美国>政治。
我必须编写一个查询,它将获得n个故事,这些故事存储在顶级部分的其中一个子节点下。因此,如果我通过“新闻”部分作为参数(可能没有任何故事直接存储在“新闻”下,但可能存在新闻>英国>犯罪)我想返回存储在任何子区段下的故事“新闻”
我该怎么做gorm?我应该使用HQL吗?我仍然是一个小白,所以任何帮助,将不胜感激。
谢谢felipenasc。我会尽快回复你。我没有这样想过。 – Bill
嗨对不起,我已经离开了。 – Bill
嗨菲利普我无法让代码工作,因为我想。然而,我解决了它通过添加一个rootNode属性的部分域,然后使用'Story.where(publishUnder.rootNode = sectionRoot)'其中sectionRoot等于'新闻'或'体育'等。感谢您抽出时间回答。 – Bill