当前位置:  开发笔记 > 编程语言 > 正文

JPA实现 - 哪一个最好用?

如何解决《JPA实现-哪一个最好用?》经验,为你挑选了2个好方法。

我已经使用了以下JPA实现:

    冬眠,

    排名靠前的,

    OpenJPA的

他们每个人都有自己的优点和缺点.我发现Hibernate是三者中最先进的,除了它将一些自己的增强功能与JPA混合在一起,这使得很难切换到其他提供商.最重要的是,在解释JPA时,它的查询解析器更宽松.他们让得到正确的库来支持hibernate变得有点困难,因为我发现它是一个试图获得所有依赖项的正确版本的任务.

Toplink还可以,但是有人觉得它有点瘫痪,因为看起来Oracle希望你使用/购买?他们更高级的图书馆.尝试下载它也是一项任务,因为您需要通过运行jar文件来安装它.我发现它只实现了基础JPA规范.我使用它的原因是hibernate使用了许多常用于其他开源项目的库,人们经常会遇到类问题,特别是在使用JBoss时

OpenJPA - 这是迄今为止最好的文档,易于下载和使用,但它似乎非常错误.也许它只是我的代码,但代码我发现更高级的用法,如OneToMany与CascadeType.all设置的关系似乎没有用.诚然,这可能是我的代码错了,我没有时间测试一个干净的案例,但很多这样的事件让我害怕使用它.我真的希望它变得更好.它的错误消息通常无助于解决问题.

人们使用了哪些其他图书馆,他们更喜欢哪些?为什么?



1> Clint..:

我对这些实现有相同的结论.

    OpenJPA似乎很糟糕

    Hibernate有很多库,似乎没有延迟加载所有内容.

    Toplink最终成为我的选择.它不像Hibernate那样灵活,但它可以工作,我不必安装commons-logging.

我接下来要尝试的是JPOX,它最近被重命名为datanucleus.


EclipseLink(imho)比所有这些都好.
那么objectdb呢?www.objectdb.com

2> Chris Dail..:

我个人认为OpenJPA还不够成熟.还有其他更成熟的开源库,我宁愿使用它们.这些是我按顺序考虑的:

    休眠.Hibernate已经存在了很长时间,并且已经为Java中的ORM铺平了道路.我对Hibernate的唯一问题是许可.这是LGPL许可,可能导致一些商业公司蠕动(原因我不会进入这里).无论如何,如果LGPL对你来说是一个问题,那么转向清楚可能是件好事.

    的EclipseLink.关于eclipselink的一些背景知识.Toplink Essentials是Oracle免费版的JPA实现.EclipseLink取自Toplink,这是Oracle完整的JPA实现.EclipseLink将成为Glassfish v3.0的JPA 2.0提供者,因此看起来所有东西都从Toplink Essentials转移到EclipseLink.尽管EclipseLink版本仅为1.0.2,但该产品已经在其他名称下使用了很长时间.

我正在开发的一个项目现在正在Toplink Essentials上,但我们计划很快切换到Eclipselink.Hibernate出于前面提到的许可问题.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有