我是一个初级程序员,被要求开发一个应该使用Java Persistence API (JPA)的应用程序。
哪个是最流行的JPA实现(Hibernate、Toplink、EclipseLink)
我是否可以在Apache Tomcat中使用上面的任何一项,或者每个实现都绑定到特定的服务器应用程序?
对于这个主题,有什么好的入门书籍或教程吗?
发布于 2012-06-01 17:50:01
这要看情况了。这两种解决方案都有效,但每种解决方案都做出了自己的设计决定,根据您的情况,这些决定可能对您有利,也可能对您不利。
因此,我建议使用这两种技术实现一个简单但完整的原型(每种技术都要花一周的时间),以了解哪一种更适合您。完整的方法:实现你知道你需要的每个用例,特别是一个复杂的用例。
作为指导,我发现Hibernate有更多的功能,但是Eclipse Link给了你更好的错误消息->我花了更少的时间来修复链接的问题。
另一方面,Hibernate内置了更多的功能,所以我花了更少的时间将需求转化为代码-当我可以找到这个功能,了解它是如何工作的时候,我就不会遇到一些奇怪的错误消息,这让我困惑了几天。
Eclipse Link曾经是一个商业产品,所以文档更好。
发布于 2012-06-01 17:40:31
如果你选择Toplink,你会被解雇,整天在桥下喝廉价的伏特加,想知道你的职业生涯会是什么样子。
我只听说EclipseLink很好,但我认为Hibernate有更多的行业用途,并且有一些非JPA特性。
您应该能够将它们全部用于Tomcat,因为它们是Java API的一个实现,而不是特别依赖于任何容器。
发布于 2012-06-01 17:36:54
这是一个非常主观的问题。
我认为Hibernate仍然更受欢迎,但对于特定的任务来说,最受欢迎的东西不一定总是最好的。
就我个人而言,我会在大多数项目中使用EclipseLink (它是TopLink的继任者)-它是有良好支持和定期发布的参考实现,由Eclipse Foundation驱动,并附带良好的文档。
您可以在每个应用服务器上使用EclipseLink和hibernate (tomcat完全可以),甚至可以独立使用(根本不需要应用服务器)-- JPA标准保证了这一点。
如果您不使用特定于实现的东西(并坚持使用JPA),您甚至可以将EclipseLink与Hibernate互换(反之亦然)--尽管我这样做的理由非常充分。
https://stackoverflow.com/questions/10847819
复制相似问题