レガシーテーブルからリバースエンジニアリングされたドメインクラスがあります
class AuditLog {
String className;
String eventName;
...
AuditEvent event; //need to add this one
static mapping = {
...
className column: 'class_name';
eventName column: 'event_name';
...
}
}
className
変更されたドメインクラスの名前(com.test.Class1など)とeventName
実行されたイベントの名前(INSERT / UPDATE / DELETEなど)が含まれます。
何が起こったのかを人間が読める形式で説明する必要があります。そこで、別のドメインクラスを作成しました
class AuditEvent {
String name;
//these should make a composite key
String className;
String eventName;
}
例:AuditEvent [name: "行がClass1"に挿入されました、className: "com.test.Class1"、eventName:"INSERT"]。
AuditEvent [name: "行がClass1"から削除されました、className: "com.test.Class1"、eventName: "DELETE"]
私が今欲しいのは電話をかけることができることAuditLog.get(1).event.name
です、そしてこれは私が立ち往生しているところです。
event
AuditLog.classNameとAuditLog.eventNameに応じて適切なAuditEventオブジェクトをロードするために、AuditLogクラスのフィールドの関係をどのように記述しますか?