Ebean或锡耶纳有多成熟?

在上一次我听到很多关于hibernate的抱怨。 事实上,我对hibernate也有一些痛苦的经历。 所以我读到了Ebean和锡耶纳 。

两者都有有趣的方法。 不幸的是,数据库访问层很容易编写,但是如果你的项目增长并且你必须处理好的数据库表,你就会知道它们是否好。 所以评估这样一个工具真的很难。 Hibernate是众所周知的,你可以肯定你可以解决它的问题。 有时你需要学习很多,但你可以解决它。

Ebean怎么样? 有没有真实的应用程序? 支持哪些数据库? 它可靠吗?

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

Rob(Ebean Committer)在这里。

Ebean现在已经有4年多了。 我会说它现在相当成熟。 支持的数据库包括Oracle,MySql,Postgres,H2和SQL Server(以及最近的SQLite)。 Ebean正在做其他ORM不像Autofetch(自动查询调优)的东西,所以我不是那么适合’成熟度评级’。 IMO Ebean社区相对较小,但你可能需要点击Ebean谷歌小组来吸引他们。

任何真实的应用程序? 是的,但你最好向Ebean社区询问这个问题。 当然,批处理有很好的支持(批量大小,交易级联持续转换等)和我在JPA等中看不到的大查询支持(你可能会得到类似于Hibernate的Sessionless支持)。

希望这可能会回答你问题的一些小部分。

干杯,罗布。

我现在是锡耶纳的开发者,但很久以来就没有了。 让我解释为什么我成为这个项目的开发人员? 我去了锡耶纳是因为我想使用Play + GAE而且Siena似乎是GAE DB的良好开端,我真的想避免使用JDO / JPA。 然后,我开始非常欣赏锡耶纳的直接,轻松和简单的方法以及如此简单的API。 它并不假装是像JDO这样的一体化抽象层,也不是像JPA那样最大的标准DB API。 它让我想起了Python / Ruby中的DB API,它真的符合我的观点:我想要一个简单的DB API,它可以解决我的大多数问题,当我遇到更复杂的问题时,我会使用它较低层的API,但肯定不是一个抽象层,如hibernate。

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

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

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

帕斯卡尔

我们对MyBatis有很好的体验, MyBatis本身不是ORM,而是另一类持久性管理器,一个SQL Mapper。 使用它,您可以从SQL语句开始,并指导如何将结果行映射到POJO。 它在概念上很容易理解和调整,内部没有多少魔法。 如果您熟悉SQL或需要使用已建立的模式,这是理想的选择。

除了Ebean和锡耶纳:

您可以尝试专注于CRUDing不可变对象的JIRM(是的,我是作者)。

还有jOOQ和Joist 。

我觉得JIRM最小化了DTO的数量,因为域对象是不可变的,不会inheritance,实现和/或不“增强/检测”。 这与锡耶纳和蚕豆不一样。

另外因为对象是不可变的,所以更多地关注每列更新而不是整个对象,这对于今天的AJAX接口更有意义(与旧的POST整个bean模型相比)。

如何使用EB3,例如JBoss(www.jboss.org)?