JPA 实现 - 哪一个最适合使用?[已关闭]
我使用了以下 JPA 实现:
- 冬眠
- 顶链接,
- OpenJPA
他们每个人都有自己的优点和缺点。我发现Hibernate是三者中最先进的,除了它将自己与JPA的一些增强功能混合在一起,这使得很难切换到其他提供商。最重要的是,它的查询解析器在解释JPA时要宽松得多。它们使得获得正确的库来支持休眠变得有点困难,因为我发现这是一项试图获得所有依赖项的正确版本的任务。
Toplink还可以,但有人觉得它有点残缺,因为Oracle似乎希望你使用/购买?他们更高级的库。尝试下载它也是一项任务,因为您需要通过运行jar文件来安装它。我发现它只实现了基本的JPA规范。我使用它的原因是休眠使用了很多在其他开源项目中常用的库,人们经常会遇到类问题,特别是在使用JBoss时。
OpenJPA - 这是迄今为止最好的文档,易于下载和使用,但它似乎非常错误。也许它只是我的代码,但我发现更高级的代码,例如与CascadeType.all set的OneToMany关系似乎不起作用。诚然,可能是我的代码是错误的,我没有时间测试一个干净的案例,但像这样的许多事件让我害怕使用它。我真的希望它变得更好。它的错误消息在帮助解决问题方面通常毫无用处。
人们还使用过哪些其他图书馆,他们更喜欢哪些图书馆,为什么?