休止状態 - Envers - 複数の監査対象
-
26-09-2019 - |
質問
私はすでに、UIを介してユーザによって更新された監査エンティティに休止状態Enversを使用しています。しかし、私はまた、バックグラウンドで実行されている非同期ジョブを持っているとEnversを使用して同様にそれらを監査したいと思います。さて、UIのために、私は、HttpRequestのは、バックグラウンドジョブのために私に日付、ユーザー、セッション、などを与える変更を行ったかを追跡、私は仕事がそれを変更し、正確な仕事だけでなく、実行された日付を追跡したいと思います(ジョブ・クラス)。
は、セットアップ2監査エンティティ、UIのための1にそれが可能であり、システム変更のための1?
ウォルター
解決
私はまだこれをテストしていませんが、私は単純に次のことをやってます:
@RevisionListener(SystemRevisionListener.class)
@Entity
public class SystemRevision extends AbstractRevision
{
@Column(nullable = false, updatable = false)
protected QuartzTriggerHandle job;
@Column(nullable = false, updatable = false)
protected Class jobClass;
...
}
@RevisionListener(WebRevisionListener.class)
@Entity
public class WebRevision extends AbstractRevision
{
@ManyToOne(optional = false)
@JoinColumn(nullable = false, updatable = false)
protected HttpRequest httpRequest;
...
}
次に、各リスナーに、私はこれらのプロパティを設定するために必要なものは何でも。私は今、ユーザーが変更を行った場合、変更された(そして何要求し、それがに結びついている)としてどのようにエンティティを追跡することができ、またはシステムがエンティティを変更した場合、どのような仕事は、変更する責任があるはずです。私が最も可能性が高い引数とメソッド名、これよりSystemRevisionで複数のプロパティを保存することになる。
所属していません StackOverflow