Annotatiomania™, or why did Hibernate/JPA get so complex?

I was curious about good answers to this question on Stack Overflow: And a good answer came up, pointing at this Hibernate documentation page: Is anyone out there actually willing to mess around with gazillions of annotations on simple methods? Who ever writes this stuff:

public class User {
   public String getLastname() { ...}

   public Set<Address> getAddresses() { ... }

public class Address {
   public String getStreet1() {...}

Do some developers despise SQL so much that they’re willing to put up with “annotatiomania”? Whatever happened with the good old

SELECT u.first_name, u.last_name, a.street1
FROM users u
JOIN addresses a ON a.user_id =

Guys. If a technology starts doing things like “@AttributeOverrides”, then something IS smelling fishy