I do agree with you that code generation is in itself an expression of a problem.
Yes java is not expressive enough and yes frameworks such as hibernate and spring can be sometime complex.
But tools are not the sole reason.
If we could use a magical language, with magical tools, and magical frameworks we would still have to handle many concepts and many integration points with your business code.
Be it i18n, security, caching, transactionality, logging, repository, auditing, performance, pagination, constraints, web, scalability, frontend etc.
Developing applications would be easier, but nonetheless it would still remain complex.
Services like Springfuse help developers raise their awareness of tools, practices and frameworks.
And cherry on the cake it does it by producing working code on their domain model so they can use it right away !