Grails中的MappedSuperclass替代方案
在过去的许多项目中,我使用JPA/Hibernate方法向系统添加审计功能。这是非常有效和不引人注目的 是否有Grails@MappedSuperclass替代方案(缺少用Java而不是Groovy编码域模型对象)?在没有为父类创建表的情况下,如何按子类方法在表中声明父类?我已经阅读了GORM文档(),但是除了每个层次结构的表与每个子类的表的讨论之外,我没有找到关于如何做到这一点的任何细节Grails中的MappedSuperclass替代方案,grails,jpa,auditing,Grails,Jpa,Auditing,在过去的许多项目中,我使用JPA/Hibernate方法向系统添加审计功能。这是非常有效和不引人注目的 是否有Grails@MappedSuperclass替代方案(缺少用Java而不是Groovy编码域模型对象)?在没有为父类创建表的情况下,如何按子类方法在表中声明父类?我已经阅读了GORM文档(),但是除了每个层次结构的表与每个子类的表的讨论之外,我没有找到关于如何做到这一点的任何细节 或者,在Grails中实现这种审计的推荐方法是什么?好的,进行了更多的搜索,我回答了自己的问题:) 本质上
或者,在Grails中实现这种审计的推荐方法是什么?好的,进行了更多的搜索,我回答了自己的问题:) 本质上,它只需将MappedSuperclass声明为抽象类,grails不会为其创建表。我认识到(RTFM基本上…工作奇迹):“GORM支持从抽象基类和具体持久GORM实体继承。”也就是说,具体类是持久的,所以抽象类不是。仔细阅读是值得的 例如 将仅创建book表,它将具有 创建日期 及 上次更新 列。此外,作为额外的好处,dateCreated和LastUpdate属性由Grails提供
希望这对其他人有所帮助。是的,出于某种原因,这在Grails 2中不再有效了抽象类有自己的表定义吗?已经在Grails论坛上问过了,但似乎没有人知道为什么会改变。有人知道为什么或者知道解决方法或设置吗?@HussainFakhruddin你是说2.x,对吗?我们使用的是2.5.4
abstract class Auditable {
Date dateCreated
Date lastUpdated
}
class Book extends Auditable {
String title
String description
}