我有audit-logging插件的默认audit_log表,如下所示:
audit_log: id | class_name | event_name | ...
我想为记录的事件提供人类可读的描述。我决定添加另一个包含描述的表格:
audited_event: id | class_name | event_name | description
并将这些说明映射到class_name
和event_name
上的第一个表格。
我有以下域类:
class AuditLog {
Integer id;
String actor;
String className;
Date dateCreated;
String eventName;
Date lastUpdated;
String newValue;
String oldValue;
Integer persistedObjectId;
String persistedObjectVersion;
String propertyName;
String uri;
AuditEvent event;
static mapping = {
table 'audit_log';
version false;
cache usage: 'read-only';
id column: 'id';
actor column: 'actor';
className column: 'class_name';
dateCreated column: 'date_created';
eventName column: 'event_name';
lastUpdated column: 'last_updated';
newValue column: 'new_value';
oldValue column: 'old_value';
persistedObjectId column: 'persisted_object_id';
persistedObjectVersion column: 'persisted_object_version';
propertyName column: 'property_name';
uri column: 'uri';
}
但我不知道如何为AuditEvent event
编写映射。在这里,我想使用现有字段class_name | event_name
作为复合外键来链接audit_event
表。非常感谢您的帮助。
upd:假设AuditEvent包含字段auditedClass
和event
答案 0 :(得分:0)
我不确定我是否真的理解你的问题,但是从问题how to write mapping for the AuditEvent event
开始,我认为你可以单独映射AuditEvent
类,就像你对类{{1}所做的那样}}:
AuditLog