栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用于仅插入/仅查询应用程序的ORM框架

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用于仅插入/仅查询应用程序的ORM框架

免责声明:我是jOOQ的创建者,因此,这个答案有些偏颇。

jOOQ专为您的同事提到的用例而设计。在您的项目中,您不是在执行OLTP(CRUD),而是在执行OLAP,这在许多方面都是jOOQ的很好用例。jOOQ鼓励使用OLAP功能,例如窗口函数,数据透视表,递归查询,存储过程,数组和未嵌套的数组等。jOOQ还支持13种不同的数据库,这些数据库具有您要避免的所有SQL兼容性问题。一些例子:

  • LIMIT .. OFFSET
    /
    TOP .. START AT
    ,etc子句如何映射到数据库?
  • 如何绑定变量(带或不带强制转换)?
  • 如何支持内置功能?
  • 派生表是否需要用括号括起来?

不过,Hibernate也很好地涵盖了所有这些兼容性方面。因此,您的问题可以归结为:

  • 您是否想使用Hibernate,它不是理想的技术选择,但您知道它并因此可以估计风险?如果团队中的每个人都知道并喜欢Hibernate,并且没有时间学习新事物,这就是方法。

  • 还是您想使用其他更合适的框架,但您不太了解框架,因此无法估算所有风险?如果您是唯一一个支持Hibernate的人,并且有时间学习新框架,那么这可能是一条路。您可能要考虑的其他框架:

    • 带有JdbcTemplates的Spring可以与jOOQ结合使用
    • myBATIS,可以很好地处理SQL。
  • 或者,您可以混合使用各种技术,并使用Hibernate进行更简单的查询,而将普通SQL / jOOQ / Spring / myBATIS /等等用于更复杂的查询。

  • 还是可以使用存储过程(例如,如果使用Oracle,则在PL / SQL中)处理批量处理和OLAP查询,并让数据库完成工作?如果您的团队中有一名优秀的DBA或数据库专家,这可能是解决方法。

没有正确或错误的答案。但是您将必须做出务实的决定。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403564.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号