Now, I am on the other side of Oliver, I prefer Annotations. Because in probably about 90% of the time you need to change your mapping, you will also need to change the code to. I try to use XML as little as possible as I find it more difficult to maintain from the standpoint of having to look at both the
Java class and the xml to figure things out, where with Annotations, I have to look at just one place.
With Annotations, you can always overwrite them with xml, so in the cases where you object model might be reused in different applications, you can have your default mapping in Annotations, and overwrite with xml for the other applications that need something other than the default.
But it is personal preference. And there are no right or wrong answers.
Mark