我正在尝试更新DomainClass的数据库映射,以将其保存在不同的表中。 我之所以这样做是因为我正在研究一个AuditListener,它动态地将当前实体保存在日志表中。
我从实体获得了属性和数据库映射。现在我更新了RevisionEntity
:
Mapping entityMapping = grailsDomainBinder.getMapping(domainClassObject.class) // get Mapping of the Entity Class
entityMapping?.columns?.each{column ->
String propertyName = column.key
RevisionEntity.metaClass."${propertyName}" = properties.get(propertyName) ?: null //add Property to RevisionEntity
}
我根据实体的映射构建了一个新的Mapping:
Mapping newRevisionEntityMapping = new Mapping() // create new Mapping for Revision Entity
newRevisionEntityMapping.versioned = false
newRevisionEntityMapping.tableName = tableName
if(entityMapping?.columns)
newRevisionEntityMapping.columns?.putAll(entityMapping?.columns) // add column Mapping from origiganal Entity
现在我想将映射设置为RevisionEntity
类。
您是否有任何建议如何设置RevisionEntity
的数据库映射?