gst*_*his 3 grails jpa auditing
在过去的许多项目中,我使用这种JPA/Hibernate 方法为系统添加审计功能。它非常有效且不引人注目。
是否有 Grails @MappedSuperclass 替代方案(缺少用 Java 而不是 Groovy 编码域模型对象)?如何在没有为其创建表的情况下在每个子类的表方法中声明父类?我已经阅读了 GORM 文档(GORM 中的5.2.3 继承),但除了每个层次表与每个子类表的讨论之外,我没有找到有关如何执行此操作的任何详细信息。
或者,在 Grails 中实现此类审计的推荐方法是什么?
好的,做了更多的搜索,我回答了我自己的问题:)
本质上,它就像将 MappedSuperclass 声明为抽象类一样简单,而 grails 不会为其创建表。我通过重新阅读手册(RTFM 基本上......创造奇迹)意识到:“GORM 支持从抽象基类和具体持久 GORM 实体的继承。” 即具体类是持久的,所以抽象类不是。付费阅读更仔细。
例如
abstract class Auditable {
Date dateCreated
Date lastUpdated
}
class Book extends Auditable {
String title
String description
}
Run Code Online (Sandbox Code Playgroud)
只会创建 book 表,它将具有
创建日期
和
最近更新时间
列。此外,作为额外的奖励,Grails会自动为 dateCreated 和 lastUpdated 属性添加时间戳。
希望这对其他人有帮助。
| 归档时间: |
|
| 查看次数: |
1751 次 |
| 最近记录: |