Grails 2.0中的MappedSuperclass替代品

时间:2012-03-15 09:38:03

标签: hibernate inheritance grails gorm

问题与older SO question中的问题相同,但解决方案对Grails 2.0不再有效 - 抽象域类不作为@MappedSuperclass处理,但始终保存在自己的表中。如果我将它移到grails-app / domain之外,它根本不起作用。

那么有没有办法让一个抽象的超类(甚至更好的mixin)表现得像@MappedSuperclass(没有用共享id和公共字段创建自己的表)?

1 个答案:

答案 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来解决这种映射问题。