在我看来,引入 ORM 工具应该可以让您的架构更整洁,但为了提高效率,我发现自己有时会绕过它并迭代 JDBC 结果集。这会导致不协调的工件缠结,而不是更清晰的架构。
这是因为我在无效的上下文中应用了该工具,还是比这更深?
你什么时候可以/应该全力以赴地使用 ORM 方法?
任何见解将不胜感激。
一点背景:
在我的环境中,我有大约 50 台客户端计算机和 1 台相当强大的 SQL Server。
我有一个桌面应用程序,其中所有 50 个客户端一直在访问数据。
该项目的数据模型出于各种原因(包括清晰度、效率等)经历了多次重组。
我的数据模型的历史
- JDBC直接调用
- DAO + POJO 没有 Pojos 之间的关系(基本上包装了 JDBC)。
- 添加了实现延迟加载的 POJO 之间的关系,但只是隐藏了 DAO 间调用
- 在看到它使数据访问变得多么“简单”(它使 POJO 之间的关系变得微不足道)并且因为它可以减少与许多相关实体一起工作时到数据库的往返次数后,跳上了 Hibernate 的潮流。
- 因为它是一个桌面应用程序,让 Sessions 长期保持打开状态是一场噩梦,所以它最终导致了很多问题
- 回到部分 DAO/Hibernate 方法,允许我在 DAO 幕后进行直接 JDBC 调用,同时使用 Hibernate。