In fact, hibernation is a good ORM tool. But he stops!
The capabilities of smith code can be more than just relational mapping staff! I use a code blacksmith to create some forms of user interface, business layers (templates), data access layers, templates, etc. But to work with a code blacksmith, you may need good experience in developing a system or using their templates, which I do not like to use, but I like as an example.
The code smith approach has one particular drawback; you must first design your system based on the database implementation. Currently, in the field of object analysis, people are achieving success in the implementation of business logic and entities immediately before the implementation of the database - they forget about it.
The decision is difficult; I constantly read important names such as Scott W. Ambler, Kent beck, Robert C. Martin and people from the Pragmatic Programmers series who recommend the ORM Tool to speed up development. They said that the developers of the ORM Tool are concerned about all the problems with the database (integration, connection, specification of the database provider, etc.). Therefore, when we have to create data access layers, we must consider all these aspects.
I believe that these ORM tools come with overloaded ones. I do not yet know how these tools will work in low-budget projects (I mean not good hosting servers or any shared resources). I saw how inexperienced developers did not take this into account when trying to preach the gospel to their favorite tools. But in Java projects, hibernate is already a widespread and well-known tool. I have no doubt that large projects were implemented using this technology, but I saw that Java application developers can teach us (.net developers) how to create great solutions. (Sorry, we have to admit.)
The only thing I would recommend is to consider your context. Are you making a new system? Do you need a job in a template? Have you ever tried to consider such a code generator and ORM tools?
I prefer the code smith, because I immediately generate whole solutions, and not just the level of data access. Code generation is very important, and it is equally important that Microsoft imitate the code smith approach in visual studio.net 2008, etc.
Good luck.