特定のエンティティ (createdBy、creationDate、modifiedBy、modifiedDate など) に何が起こったのかを追跡するために、監査可能なフィールドをキャプチャすることは良い習慣だと思います。
オブジェクトが変更されていない場合、SNMPv3 イベント (createdBy、creationDate など) の次の監査可能なフィールドをキャプチャするだけで意味があると思います。
オブジェクトが作成後に複数の人によって変更可能である場合、たとえば、ユーザー プロファイルが自分自身または管理者によって変更できる場合、上記のすべての属性 (createdBy、creationDate、modifiedBy、modifiedDate など) をキャプチャすることが理にかなっていると想定しています。
エンティティごとの監査証跡の履歴が必要ないと仮定すると、すべての監査可能な属性をエンティティ自体に保存することは理にかなっていますか?
上記のユースケースでは、監査をサードパーティのフレームワーク (JBoss Envers - http://www.jboss.org/enversなど) に委譲することは理にかなっていますか?
エンティティ (たとえば、発注書) がユーザー X によって作成および維持され、ユーザー Y が上記の PO にいくつかの改良を加えると仮定します。このエンティティの所有者としてマークする必要があるのは誰ですか (作成者または変更者)。この場合の creationDate はまったく関係がない可能性があるため、ここでこのフィールドを追跡することは理にかなっています。
注: 基礎となる永続レイヤーは、JPA、Hibernate 3.3.x に基づいています。