У меня есть класс домена Grails, который представляет собой иерархию категорий.У каждой категории есть родительская категория (за исключением корневой категории, которая является нулевой).
class Category {
String name
static mapping = {
cache true
name index:'category_name_idx'
}
static belongsTo = [parent:Category]
static constraints = {
parent(nullable:true)
}
}
Моя проблема: удаляет каскад, полностью противоположный тому, что я ожидал:
- someSubCategory.delete () удаляет категорию, затем пытается удалить родительскую категорию (что не удается с нарушением целостности, если у родителя есть другие дочерние элементы).
- parentCategory.delete () НЕ каскадно удаляет своих дочерних элементов, а просто терпит неудачу с нарушением целостности.
Что я делаю не так?Насколько я понимаю, вышеприведенное слово «ownTo» должно указывать GORM каскадное удаление от родительского элемента ко всем дочерним элементам, но не от дочернего к его родительскому элементу.