Hi Amit,
As far as I know you are correct - the DD replaces (overrides) values from annotations.
This is useful as otherwise you'd need to recompile the source (which you may or may not have) to change the value in an annotation.
For example, let's say you defined a database connection
string in an annotation and compiled the class and sent it to me.
Now, I may want to change that database connection string to something more applicable to my environment - but I couldn't do that without the source.
However, I *can* use a deployment descriptor to override your value, and for that I don't need the source.
Hope that helps,
MG
28/06/06 - SCJP - 69%, 05/06/07 - SCWCD - 92%, 28/02/08 - IBM DB2 v9 Fundamentals (Exam 730) - 87%, 18/11/08 - IBM DB2 v9 DBA (Exam 731) - 89%, 26/02/11 - SCBCD - 88%