I guess it's a good practice to capture auditable fields to track what happened to a particular entity (say createdBy, creationDate, modifiedBy, modifiedDate)
I am assuming if an object is never modified it makes sense just to capture the following auditable fields for an SNMPv3 event (say createdBy, creationDate)
I am assuming if an object is modifiable post creation by multiple people, example a User profile can be modified by self or admin then it would make sense to capture all the above attributes (say createdBy, creationDate, modifiedBy, modifiedDate)
Assuming a history of audit trail per entity is not required, would it make sense to store all auditable attributes in the entity itself
Would it make sense to delegate auditing to a 3rd party framework (say JBoss Envers - http://www.jboss.org/envers) for the above use cases.
Assuming an entity (say a Purchase Order) is created and maintained by User X, and User Y makes some refinements to the above PO. Who should be marked as the owner of this entity (is it the creator or the modifier). creationDate in this case might not be of any relevance at all, so would it make sense to track this field here.
Note: The underlying persistence layer is based on JPA, Hibernate 3.3.x