I prefer no exceptions.
and I would prefer to be rich and have magical powers.
Annotation/configuration just introduces additional complexity
Additional complexity compaired to what?
I would say they introduce different complexities. Working with relational databases is always going to create some level of complexity. JDBC, O/R Mapping tools, EJB3, and JDO, all have their complexities.
and new points of failure without much real benefit.
I don't think that there are new (added) points of failure, just different points of failure. If you use annotations then you are trading a potential failure of a SQL statement or XML file, for the potential failure of an annotation. Annotations have uses beyond EJB3, but *to me* some of the benefits of Annotations with respect to an EJB3 env are:
They provide a simple in-class way to override persistance defaults. For example, in general I only need to add annotations to a class when: there is a relationship, when I want to use a variable name that differs from a column name, or when I'm adding tuning parameters about how data should be loaded. When mapping to a schema that contains tables with well defined relationships and good column names I usually only end up with a handful of annotations. And the annotations are in the class right next to the block of code that they affect. As opposed to being off in some overly expressive XML file.
EJB Annotations are meta-data about something that can't be checked at compile time.
A liability, not a feature.
PL/SQL is the only langauge that I know of that allows for compile time checking against a database. For everone else working with RDBMS systems is a coding "liability". Annontations are no more prone to runtime exceptions then SQL statements in JDBC, or XML in a bean mapping file. If you write bad Annontation then you get an error. If you write bad sql you get an error. If the XML in your bean mapping file is wrong you get an error. etc.....
I don't unit test as much as I should,
Wo does?
People who work in larger teams on enterprise applications. In general the same people who like standardized API's and are looking forward to a persistance spec that includes the features and abilities of powerful and accepted technologies like Hibernate and Toplink.