dope
dope

Reputation: 21

Grails: Delete relation Domain

I want to asked about my project. I Have Two Domain like this

Upvotes: 0

Views: 105

Answers (2)

Ivar
Ivar

Reputation: 4891

class User {
    // Group details should not be referenced here
}
class Group {
  String Name
  String Description
  GroupDetails gd
}

class GroupDetails {
    User user
    static belongsTo = [group:Group]
}

In this case if Group will have a child GroupDetails then when you delete Group, child entity(ies) will also be deleted.

Have a look at first example in grails docs: http://grails.org/doc/2.2.x/ref/Domain%20Classes/belongsTo.html

Also as Sérgio Michels there are more ways to make it work.

example: https://github.com/aprudnikovas/testGrailsOneToOneCascade

Upvotes: 1

user800014
user800014

Reputation:

I suggest you to look in the GORM documentation. You have some ways to declare your relationship between classes, and depending on them the delete will be cascade or not.

This behavior is explained in "6.3.3 Understanding Cascading Updates and Deletes".

Whether it is a one-to-one, one-to-many or many-to-many, defining belongsTo will result in updates cascading from the owning class to its dependant (the other side of the relationship), and for many-/one-to-one and one-to-many relationships deletes will also cascade.

So you should consider declaring hasMany and belongsTo, to enable the cascading deletes.

Upvotes: 1

Related Questions