Ebean或Siena有多成熟?[已关闭]

2022-09-01 17:42:51

在上一次我听到很多关于Hibernate的抱怨。事实上,我对Hibernate也有一些痛苦的经历。所以我读了关于EbeanSiena的文章。

两者都有有趣的方法。不幸的是,数据库访问层非常容易编写,但是如果您的项目增长并且您必须处理出色的数据库表,那么您就知道它们是否良好。因此,评估这样的工具真的很困难。Hibernate是众所周知的,你可以肯定你可以用它来解决你的问题。有时你需要学到很多东西,但你可以解决它。

与Ebean的关系如何?是否有任何实际应用?支持哪些数据库?它可靠吗?

在搜索了一点点之后,我发现有更多的ORM框架,那么至少有一个可靠的框架吗?


答案 1

Rob (Ebean Committer) 在这里。

Ebean现在大约4岁多了。我会说它现在已经相当成熟了。支持的数据库包括Oracle,MySql,Postgres,H2和SQL Server(以及最近的SQLite)。Ebean正在做其他ORM没有的东西,比如Autofetch(自动查询调优),所以我不适合“成熟度评级”。IMO的Ebean社区相对较小,因此您可能需要点击Ebean Google组才能吸引他们。

任何实际应用?是的,但你最好向Ebean社区询问这个问题。当然,对批处理有很好的支持(批量大小,事务的级联持久化等)和大型查询支持,我在JPA等中看不到(你可能会得到类似于Hibernate的Sessionless支持)。

希望这可以回答您问题的一些小部分。

干杯,罗伯。


答案 2

我目前是锡耶纳的开发人员,但时间不长。让我解释一下为什么我成为这个项目的开发人员?我去了锡耶纳,因为我想使用Play+ GAE,锡耶纳似乎是GAE DB的良好开端,我真的很想避免JDO / JPA。然后,我开始真正欣赏锡耶纳的简单,轻松和简单的方法以及如此简单的API。它不会假装是像JDO这样的一体化抽象层和像JPA这样最伟大的标准DB API。这真的让我想到了Python/Ruby的数据库API,它真的很符合我的观点:我想要一个简单的数据库API,它允许我解决绝大多数问题,当我遇到更复杂的问题时,我会使用较低层的API,但肯定不是像休眠这样的抽象层。

让我的代码在GAE DB或JDBC上工作的可能性也是一个很好的方面。再一次,Siena并没有假装在两个世界中提供完全相同的东西,因为SQL和NoSQL并不真正兼容(但ORM既不真正符合SQL模型:))。但同样,能够在多个数据库中依赖相同的 API 是非常实用的。

最后,库是一个罐子,你不必检索整个宇宙来使用它。

所以,我逐渐成为锡耶纳的一名提交者,因为我想参加这个美好的小冒险。现在,Siena团队正在开发一个新版本,保留相同的简单API,带来新的有趣功能,并真正改进所有后端代码,使其更容易扩展新的数据库支持。锡耶纳是一个由用户体验驱动的实用API,这就是为什么我喜欢它;)

帕斯卡


推荐