次のようなaudit-loggingプラグインのデフォルトの audit_log テーブルがあります。
監査ログ: id | class_name | event_name | ...
ログに記録されたイベントについて、人間が判読できる説明を提供したいと考えています。説明付きの別の表を追加することにしました。
監査済みイベント: 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
テーブルにリンクします。あなたの助けに感謝します。
更新: AuditEvent にはフィールドがauditedClass
あり、event