我正在处理多个数据库,如MSSQL服务器和PostgreSQL的繁重的交易和复杂的查询。我搜索了简单的jdbc比ORM更快。我正在考虑使用ORM,因为我不想针对同一工作为不同的数据库编写不同的查询,并且为了标准化我的dao层。我正在映射我的数据库表而不使用外键,而对于像apache卡宴这样的ORM,我必须使用外键约束映射表,所以我可以使用我的连接或任何其他多表操作。它是好的使用和ORM或简单的jdbc是好的。哪个更好ORM(Apache Cayenne),JDBC还是SpringJDBC?
0
A
回答
0
从你的问题描述中,你已经理解了所涉及的折衷。所以这是一个真正的决定,你需要根据这些权衡来为自己做出决定。
我在这里唯一的建议是再次看看性能要求。虽然ORM的确引入了创建,存储和管理对象的开销,但除了少数情况外,为了更好的抽象,您可以放心地忽略这种开销。另外,当经常使用JDBC时,最终会编写自己的代码将ResultSet转换为对象,这会遇到自己的开销。所以你最终可能不会得到更快的代码,同时丧失干净对象模型和管理它的框架的所有好处。
所以我自己的偏好是更好的抽象(在这种情况下是ORM),然后使用框架工具来优化性能。例如。以加快处理大型结果集Cayenne provides a few techniques:结果迭代器,DataRow查询,分页查询等。
另一方面,如果无法将数据完全建模为实体,则会使用JDBC或类似MyBatis的东西。例如。当没有自然关系时,所有访问都是通过存储过程发生的,等等。虽然看起来不像你的情况。
相关问题
- 1. 哪个更好:JDBC连接池,还是使用用于JDBC连接的SIngleton类?
- 2. PHP - 退出还是哪个更好?
- 3. 哪个更好? Java开发还是Webworks?
- 4. 哪个更好?碳还是可可? (Mac)
- 5. MySQL - 哪个更好:SELECT还是SELECT COUNT?
- 6. Jdbc桌面设计哪个更好
- 7. MySQL:哪个更好,选择Update,还是更新?
- 8. Apache Cayenne的velocity.log文件是什么?
- 9. Apache Cayenne多对多关系
- 10. “是”vs“有”:哪个更好?
- 11. 哪个Rails认证系统更好:AuthLogic,Clearance还是Devise?
- 12. 哪个更好 - 主循环还是单独的线程?
- 13. 哪个循环在性能上更好 - foreach还是?
- 14. 哪个更好,刷新后还是live()(jQuery)?
- 15. 哪个更好,Enumerable.Epty为<T>还是new [0]?
- 16. 哪一个性能更好?交叉连接还是新表?
- 17. 哪一个更好的做法:全局常量还是#define?
- 18. PHP + Wordpress功能组织:哪个更好,function()还是Include()?
- 19. 哪个更好,创建物化视图还是新表?
- 20. 在性能方面,哪个更好:foo.setVisibility(View.GONE)还是parent.removeView(foo)?
- 21. 哪个地图缩小性能更好?Hbase还是Cassandra?
- 22. 哪个规范名称更好? www还是非www?
- 23. 哪个更好
- 24. 速度更快:JDBC还是JNDI?
- 25. 什么是更好的,动态SQL还是在哪里?
- 26. Qt还是j2me更好?
- 27. 哪个更快 - INSTR还是LIKE?
- 28. 哪个更快:多行还是多列?
- 29. 哪一个更好?
- 30. 哪个JSON更好