我们将编写一个服务,我们正在尝试评估技术堆栈。因此,作为ORM的一部分,我们正在考虑使用hibernate,但是从我的一位同事那里我开始认识abt ebean。但我们对ebean一无所知。
所以我的问题是:hibernate,任何可售性或性能瓶颈是否有任何缺点? ebean带来的优势是什么?
答案 0 :(得分:5)
Ebean带来了什么?
简而言之,它带来了一个完整的功能ORM,它更易于使用,最重要的是优化(嗯,它很简单,但也可以通过分析自动完成)。
一种查询语言,旨在通过对部分对象的良好支持优化对象图构建,并内置避免N + 1
“无会话”ORM ...架构为没有附加/分离语义(这样可以更容易地使用/快速掌握)。
Ebean现在具有SQL2011历史记录支持和ElasticSearch集成。你可以说Hibernate有类似的功能。
参考链接:
答案 1 :(得分:1)
hibernate存在很多问题,基本上在大型且可扩展的应用程序中实现了JPA。你应该考虑使用另一种解决方案。第Large Application Model issues条中详细说明了问题,文章Model for large applications中的模型应该如何。
答案 2 :(得分:1)
如前所述,Ebean是无会话ORM,因此您无需考虑会话。 Hibernate具有一级缓存,无法禁用。这意味着如果您通过ORM查询项目然后直接使用SQL删除它,它将保留在缓存中。您可以显式清除缓存以从数据库中获取最新的结果,但不幸的是,此类行为可能会带来“分离的实体传递给持久性”等错误。