Grails GORM:如何通过复合外键链接表?

Grails GORM:如何通过复合外键链接表?,grails,mapping,gorm,Grails,Mapping,Gorm,我有一个来自插件的默认审核日志表,如下所示: 审核日志:id |类|名|事件|名|…… 我想为记录的事件提供一个可读的描述。我决定添加另一个带有说明的表: 已审核事件:id |类别|名称|事件|名称|描述 并将这些描述映射到class\u name和event\u name上的第一个表 我有以下域类: class AuditLog { Integer id; String actor; String className; Date dateCreated; String eventName;

我有一个来自插件的默认审核日志表,如下所示:

审核日志:
id |类|名|事件|名|……

我想为记录的事件提供一个可读的描述。我决定添加另一个带有说明的表:

已审核事件:
id |类别|名称|事件|名称|描述

并将这些描述映射到
class\u name
event\u 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事件
编写映射。在这里,我想使用现有字段
class_name | event_name
作为复合外键来链接
audit_event
表。谢谢你的帮助


upd:假设AuditEvent有字段
auditedClass
event

,我不确定是否真正理解了您的问题,但是从问题
如何为AuditEvent事件编写映射
,我想您可以分别映射
AuditEvent
类,正如您对class
AuditLog所做的那样:

Class AuditEvent {
    String auditedClass
    String event
    String description
    ....

    static mapping = {
        table 'audited_event'
        auditedClass column: 'class_name'
        event column: 'event_name'
    }
}

这不是我问的问题。我希望
事件
字段在加载
审核日志
时初始化。也就是说,我想加入
AuditEvent
表并加载
event
对象。好的,您可以将事件定义为属性。是否可以包含指向此“数据审核”插件的链接?在grails.org上没有使用这个搜索词的结果。@Stuporman,对不起,这是审计日志!这里:我会更新帖子谢谢你的更新。我必须研究这个插件,但是如果在我弄明白之前没有其他人得到答案,我会尽我所能给你一个答案。顺便说一句,我想研究这个插件的原因是我从个人经验中发现,我通常无法回答我自己的问题,因为我从错误的角度来处理这个问题。