Hey Rob this seems like it might be a good application for Spring AOP/AspectJ.  
We've used it in a project for logging what was changed and by whom with 
date/time.

Ron

----- Original Message ----
From: Rob Hills <[EMAIL PROTECTED]>
To: users@appfuse.dev.java.net
Sent: Thursday, December 13, 2007 4:54:38 PM
Subject: Re: [appfuse-user] Automatic timestamping of all persisted data


Hi Matt,

Thanks for the reply.

Matt Raible wrote:
> Have you thought about doing this with a trigger in your database? Do
> you need to record the user's information along with this auditing?
> I've done this with Event Listeners in the past.
>   
I'd be quite comfortable with doing it as a trigger, but  for 
"political" reasons that could be a bit tricky (though not impossible).
  
I just thought that because it's such a common pattern, Hibernate would
 
have a solution for it, but I guess it doesn't.

I've not played with event listeners yet, in general terms what event 
would you hang one onto to do this kind of thing.  WRT recording users 
information, there's nothing in the spec about that, but from what I 
know of the client, I can see that requirement arising sooner or later.
> On 12/13/07, Rob Hills <[EMAIL PROTECTED]> wrote:
>   
>> Hi All,
>>
>> I'm using AppFuse 2.0 + Struts2 + Hibernate.
>>
>> I need to timestamp all of my persisted data.
>>
>> I have a base model class that includes a "lastUpdated" attribute
 and I
>> was hoping to be able to annotate it with something that would tell
>> Hibernate to timestamp it whenever it was saved to the DB, much as
 you
>> would do with an "After Update" trigger.
>>
>> I've been hunting through the Hibernate documentation to see if it
 has
>> any "automatic" way of doing this, but haven't turned up anything
>> obvious.  Hibernate has an @Temporal annotation, but AFAICT, it
 simply
>> provides a direction about the persisted datatype.
>>
>> Is there any way to "automate" this or will I have to do it myself
 in
>> the DAO?  If I have to do it myself in the DAO, I assume the most
>> efficient way will be to have a base DAO class that sits between
>> GenericDao and my own Dao's and have it do the timestamping
Cheers,
Rob Hills
Waikiki, Western Australia

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Reply via email to