banq
2007-01-31 12:21
需要搞清楚Hibernate在软件开发中位置!

首先通过Evans DDD设计出实体对象,以及他们之间的关联关系;然后使用Hibernate进行编程实现这些实体对象和他们关联关系的持久化。

借鉴Hibernate这些o/R mapping做法,我们使用JDBC也可以实现,而且实现效率肯定比Hibernate高。

例如:Hibernate为了提供1:N的性能(减少其内部JDBC执行次数),它建议1:N要双向关联,而Evans DDD设计原则是少用双向关联,这就矛盾了,是服从HIbernate还是Evans DDD?当然是DDD,但是性能不能照顾,所以,使用Hibernate后,必须使用双向关联配置。

而使用JDBC,则就可以做到纯净地服从Evans DDD的对象设计原则,而不必因为技术性能原因,曲改设计原则,这就是Evans最近谈话中强调:需要让开发人员专心业务设计,而实际现在很多技术平台如Java,因为考虑性能原因,经常需要在设计和性能之间做平衡,这是当前技术发展水平的局限。

猜你喜欢
2Go 上一页 1 2