В наших старых приложениях мы используем набор сценариев, которые выводят базу данных MySQL и используют схему в качестве входных данных для (шаблонных) POJO.Это, однако, очень сильно зависит от базы данных.
Для меня преимущество использования таких инструментов, как Hibernate, заключается в слабой связи с базой данных для разработчика.Вам не нужно знать все диалекты базы данных;Hibernate делает.Это удобно, поскольку или на производственных серверах работают DB2, Oracle или MySQL, а в наших тестах Junit используется SQLite с другим синтаксисом.
Hibernate также имеет отличные средства отладки в файле журнала, поэтому я не чувствуюболь от непонимания того, что происходит :) Однако наши управляемые приложения EJB2 являются болью: (