【发布时间】:2010-01-27 12:50:08
【问题描述】:
过去我们通过存储过程访问数据库。它们被视为管理数据的“更好”方式。我们将数据保存在数据库中,任何语言/平台都可以通过JDBC/ODBC/等方式访问。
然而,近年来,基于运行时反射/元数据的存储检索机制(如 Hibernate/DataNucleus)变得流行起来。最初我们担心它们会很慢,因为涉及额外的步骤(反射是昂贵的)以及当我们只需要一个字段时它们如何检索不必要的数据(整个对象)。
我开始计划一个使用 J2EE 的大型数据仓库项目,但我有点不确定是选择存储过程还是 JDO/JPA 等。最近一直在研究 Hibernate,老实说,我不会错过编写 CRUD 存储过程的机会!
基本上归结为:
存储过程
+ 可以在服务器上优化(虽然只有查询)
- 每个表可能有超过一千个存储过程:添加、删除、更新、getById 等。
JDO
+ 我不会在接下来的几个月里写 parameters.add("@firstNames", customer.getFirstName()); ...
- 会比 SP 慢(但大多数支持分页)
在我的情况下,你会为了什么而丰满。在这种情况下,我认为这是非常重要的。
谢谢,
约翰
【问题讨论】:
标签: java stored-procedures jakarta-ee data-warehouse jdo