Ну да, но это не разлука, это забота для меня. С этими другими API баз данных проблемы разделяются - дело не в том, что пользовательская логика БД записана в контроллере (что я знаю, это плохая форма), а в том, что она генерируется автоматически. Вызов выглядит точно так же с контроллера, разница в том, что с Java / Hibernate мне пришлось написать его самому, а с Django / Rails / Symfony / Cake он уже был у меня.
Грааль выглядит очень интересно. Однако основная причина, по которой я изучаю Java, заключается в том, что я хочу, по крайней мере, иметь возможность работать с чем-то, что я могу использовать профессионально. Я не уверен, что Grails подходит под этот счет, хотя, поскольку это Java, возможно, Enterprise подойдет к этому больше, чем Rails.
Django - самый красивый кусок кода, с которым я когда-либо работал, но ему не доверяют те компании, которые могут позволить себе пользовательские веб-приложения, и это тот рынок, на котором, я думаю, я хочу быть.
iBATIS выглядит очень многообещающе - просматривая код JPetStore, он выглядит немного более автоматически. Но нужно ли все это SQL кодировать вручную? Потому что тогда я вернусь туда, откуда начал.
Spring имеет отличный и достаточно простой в работе интерфейсный уровень (MVC), и он довольно красиво связывает компоненты. Хотя его можно использовать для интеграции ORM в приложение, насколько я знаю, это не одно.