I would like to do the standard (ReadOnly) operations on this tree structure:
GROUPSgroup_idparent_idgroup_nameData (GROUPS):1, null, 'Root group'2, 1, 'Sub group1'3, 1, 'Sub group2'4, 3, 'Child'GRPS_IN_GRPSgroup_idmember_group_idData (GRPS_IN_GRPS):1,21,34,3Final result:-Root group-Sub group1-Sub group2-Child
class Groups {String groupIdString parentIdString groupNamestatic hasMany = [grps : GroupRels]static mappedBy = [grps:'srcGrp']static mapping = {version falsetable 'GROUPS'id generator:'assigned', column:'GROUP_ID', name:'groupId'}String toString() { return "${groupId}" }}class GroupRels implements Serializable {String groupIdString memberGrpIdstatic belongsTo = [ srcGrp : Groups ]static mapping = {version falsetable 'GRPS_IN_GRPS'id composite:['groupId', 'memberGrpId'], generator:'assigned'srcGrp column:'GROUP_ID'}String toString() { return "${groupId}" }}
id generator:'assigned', column:'group_id',name:'id'
id composite: ['group', 'member']