Я заметил странный факт (основанный на вопросах в теге hibernate), что люди все еще активно используют xml файлы вместо аннотаций, чтобы указать их сопоставления ORM (Hibernate/JPA).
Есть несколько случаев, когда это необходимо:
- вы используете классы, которые предоставляются, и вы хотите их сопоставить.
- вы пишете API, чьи классы домена могут использоваться без поставщика JPA, поэтому вы не хотите принудительно устанавливать зависимость JPA/Hibernate.
Но это не обычные случаи, я думаю.
Мои предположения:
- люди используются в xml файлах и не чувствуют себя комфортно/не хотят беспокоиться об использовании подхода аннотации.
- Java pre-1.5 принудительно применяется к проекту, и ему нечего делать
- люди не знают, что аннотации - полнофункциональная замена xml-сопоставления.
- поддерживаются прежние системы, и поэтому изменение подхода считается рискованным
- люди опасаются, что смешивание аннотаций (метаинформации) с их классами неверно.
Любые другие возможные объяснения?