问题与older SO question中的问题相同,但解决方案对Grails 2.0不再有效 - 抽象域类不作为@MappedSuperclass处理,但始终保存在自己的表中。如果我将它移到grails-app / domain之外,它根本不起作用。
那么有没有办法让一个抽象的超类(甚至更好的mixin)表现得像@MappedSuperclass(没有用共享id和公共字段创建自己的表)?
答案 0 :(得分:3)
我们遇到了同样的问题并用grails 2.2.1(不是grails 2.0)解决了这个问题:
在src / groovy下创建了抽象超类:
abstract class Auditable {
Date dateCreated
Date lastUpdated
static constraints = {
dateCreated(display:false)
lastUpdated(display:false)
}
}
在grails-app / domain下创建了具体类'Parcel':
class Parcel extends Auditable {
...
}
你应该使用Grails 2.1或最新版本的Grails 2.2.3而不是2.0.x来解决这种映射问题。