其实hibernate是一个很好的ORM工具。但它停在那里!
Code smith 的能力可以不仅仅是一个关系映射人员!我使用 Code smith 来生成一些 UI 表单、业务层(模板)、数据访问层、模式等。但是要与 Code smith 合作,您可能需要良好的系统设计经验或使用我不喜欢使用但我喜欢作为示例的模板。
Code smith 方法有一个特殊的缺点。您必须首先考虑数据库实现来设计您的系统。如今,在对象分析方法中,人们在任何数据库实现之前就成功地实现了业务逻辑和实体——他们忘记了这一点。
决定很难;我经常阅读重要的名字,例如 Scott W. Ambler、Kent beck、Robert C. Martin 和实用程序员系列中推荐使用 ORM 工具来加速开发的人。他们说 ORM 工具开发人员关心所有数据库问题(池、连接、数据库供应商细节等)。因此,当我们必须设计数据访问层时,我们也必须考虑所有这些方面。
我相信这些 ORM 工具带来了负担。我还不知道这些工具在低预算项目中的表现如何(我的意思是不是好的托管服务器或任何类型的共享资源)。我见过没有经验的开发人员在尝试宣传他们钟爱的工具时没有考虑到这一点。但是在java项目中,hibernate已经是一个广为人知的工具了。我毫不怀疑已经使用这项技术交付了伟大的项目,但我已经看到任何人一次又一次地 Java 开发人员可能需要教我们(.net 开发人员)如何构建出色的解决方案。(对不起,我们不得不承认。)
我唯一建议的是考虑你的背景。你在做一个新系统吗?你需要有规律的工作吗?你有没有尝试过完全考虑这样的代码生成器和 ORM 工具?
我确实更喜欢 Code smith,因为我一次生成整个解决方案,而不仅仅是数据访问层。代码生成非常重要,微软在visual studio.net 2008 等中模仿了code smith 的方法也很重要。
祝你好运