grigori
Ну, джависты в упёртом большинстве любят сношаться с унылой
анемичной моделью, в которой ORM-записи полностью отделены от логики и хранят в себе только данные и геттеры/сеттеры.
Классы модели, содержащие логику при этом зовутся как правило сервисным слоем.
По сути при подходе Domain Model, где ентити могут логику содержать всё равно допустимы классы, которые содержат только логику, или в основном содержат логику.
В общем, на Java, как строготипизированном языке значительно удобнее писать большие ООП-структуры. Строгая типизированность позволяет во-первых допускать меньше ошибок за счёт контролируемого приведения типов (а сложная модель это всегда глубокие стеки вызовов и сл-но больше преобразований данных), пользоваться перегрузками операторов и получать капитальную помощь от IDE в плане всевозможных рефакторингов.
Динамическим языкам не откажешь в превосходстве в способности быстро налабать лаконичный код для несложной логики - веб-контроллеры и вьюшки как раз зачастую именно такую и содержат. На яве же можно нахреначив дофига кода, пусть его будет и в разы и на порядки больше по прежнему достаточно безболезненно (при правильном проектировании, конечно) его сопровождать и рефакторить автоматизированными методами.