我有一个看起来像这样的 Section 域。我从中构建导航,并在部分或子部分下排序故事,例如:新闻 > 犯罪 > 火车大劫案
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
}
}
看起来像这样的 Story 域
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 个根部分:
家庭、新闻、体育、旅游、科技、文化和评论,除了家庭之外,它们都有子部分
例如:新闻将有一个包含英国、欧洲、美国的级别,然后美国可能有另一个级别的子部分,用于包含政治和犯罪部分。如上所述的故事存储在“部分”下。因此,“奥巴马被弹劾”的故事将在
新闻 > 美国 > 政治下发表。
我必须编写一个查询,该查询将获取 n 个故事,这些故事存储在顶级部分的一个子项下。因此,如果我将“新闻”部分作为参数传递(可能没有任何故事直接存储在“新闻”下,但可能在News > Uk> Crime下)我想返回存储在“消息”
我如何用gorm做到这一点?我应该使用 HQL 吗?我仍然是一个菜鸟,所以任何帮助将不胜感激。