Here is my domain class:
class Category {
String name
static hasMany = [subCategories: Category]
static belongsTo = [parentCategory: Category]
static mapping = {
subCategories joinTable: false, column: "parent_id"
}
static constraints = {
parentCategory nullable: true
}}
Category is a domain class and has self-reference to both parent and list of children.
Now I want something like this: given a parent category id, I want a list of all sub-categories belong to this id. (NB: not direct children, all the children under the id)
For example, id 1 has children 2 and 3, and 2 has children 4 and 5.
Given I got category id 1 from client, I want a sub categories with id 2,3,4,5
Taken advantage of Groovy, what is the best code to implement that?