Hi All,

Sorry if this is a bit off topic, but in the app I am building, I need to 
implement 
a data archive pattern.  IOW, in some tables, any changes to data (deletes, 
updates) are preserved and made available to be reviewed in context (ie 
from the UI for the table in question).  So for example, when looking at a list 
of records in a table from the UI, I will be able to view the Archives for that 
table, seeing all deleted rows and changes to existing rows.  Similarly, when 
looking at an existing record, I will be able to click a button to see all 
changes that have been made to that record.

I inherited the app, which was previously built using AppFuse 1.8ish and it 
uses a concatenated ID (where the primary key is concatenated with a 
timestamp field) and some jiggery-pokery in the action classes.  I'm 
rebuilding it in AppFuse 2.0 + Struts.

I don't like the data archive pattern used in the old version, partly because 
of 
DB performance issues when tables have large datasets and/or lots of edits, 
partly because I've always found concatenated keys in Databases to cause 
headaches all round, and lastly because concatenated keys in POJOs are 
not currently well supported in AppFuse (for good reason IMHO).

I've not seen anything to indicate that AppFuse (or any of its frameworks) 
have built-in or plug-in support for Data Archiving, but I thought I'd better 
check - is there anything built in?  Hibernate's "@Version" annotation 
seemed to offer promise, but from my reading of the documentation, this is 
only useful for Optimistic Locking.

Assuming there isn't anything built in, I am planning to use what I call and 
"Archive Table" pattern, ie whereby each entity that requires archive 
management will have a second "Archive Table" with the same structure as 
its parent table excepting that it will have its own ID column (unique) and a 
separate Foreign Key column back the primary key of the main table.

Has anyone else done anything like this with AppFuse.  I'm interested to 
hear any thoughts or ideas.

Cheers,
Rob Hills
Waikiki, Western Australia
Mobile +61 (412) 904-357
Fax: +61 (8) 9529-2137

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

Reply via email to