Hi All,

I am looking for good design practice for update and record in following scenario:
1. We need to update the exiting record.
2. User provided with UI to update data (Fields are populated with current data)
3. We need to track the fields changed by user.

Suppose we have tables
a) Containing our records
[userid: 1; firstName: Test; lastName: User; Salary: 5000.00]
[userid: 2; firstName: Beta; lastName: User; Salary: 3000.00]
b) History of changes we made
[recId: 1; desc: Salary updated from 3000 to 5000;]
[recId: 2; desc: Firstname updated from Alpha to Beta;]
[recId: 3; desc: Salary updated from 2000 to 3000;]

And our application have following componets
a) UI (jsp with jquery)
b) Controller
c) Service layers
d) Dto to transfer data between them

So my question is in which layer its good practice to track the field value change?