我在GORM中使用tablePerSubclass继承选项遇到了奇怪的行为(grails 2.4.3)
拥有一个超类域项
class Item {
static mapping = {
tablePerHierarchy false
}
}
和一个子类,让我们说Book
class Book extends Item {
String name
String description
}
我在MySQL中得到两个表:Item和Book,当我保存Book项目时,我可以看到Item表中的条目。然后我删除Books表中的元素,但Item表仍然有引用!!
这怎么可能?
答案 0 :(得分:0)
在此环境中,当子表中删除记录时,grails会尝试删除父表中的条目。然而,这似乎是在不同的事务中完成的,因此如果第二次删除失败,那么grails将无法恢复到一致的状态。