我利用了以下访问用户的实现:

  1. 休眠,
  2. Toplink,
  3. OpenJPA

他们每个人都有自己的优势和弱点。我发现休眠的最先进的三个不同的是它混合的一些其自己的增强与访问用户,这使得它难以切换到其他供应商。最重要的是,地查询分析程序更为宽松的解释。他们让它稍微难以获得正确的图书馆,以支持休眠因为我找到了一个特派团试图获得正确版本的所有依赖性。

Toplink是确定的,但一个是留有一种感觉,它是略有削弱,因为它似乎Oracle要你使用/购买?他们的更高级的图书馆。尝试下载它也是一个特派团因为你需要安装它通过运行的一个罐子的文件。我发现,它的实现只有基访问用户的规范。我用它的休眠使用了大量的图书馆,通常用于其他开源项目的一个经常会得到classloarder问题,尤其是当使用Boss

OpenJPA-这是迄今为止最好的文件和易于下载和使用,但看来其非常错误。也许它只是我的代码,但码我找到更先进的使用情况如OneToMany关系CascadeType.所有设置仅仅是似乎没有工作。诚然,这可能是我的代码是错误的,我没有时间来检验一个干净的情况,但许多事件像这样离开我害怕去使用它。我真的希望它获得更好。其错误信息往往没有用在帮助解决问题。

什么其他图书馆都有人使用,哪些做他们喜欢和为什么?

有帮助吗?

解决方案

我有同样的结论,关于这些实现。

  1. OpenJPA是/似乎越野车

  2. 休眠了吨的库,似乎有麻烦 懒载的一切。

  3. Toplink结束了作为我的选择。它不是灵活,因为休眠会已,但它的工作原理而且我不需要安装 公共记录.

我会尝试下一步是JPOX,最近被重新命名为 datanucleus.

其他提示

我个人感觉不OpenJPA足够成熟。还有其他开放源图书馆,更成熟和我宁愿使用这些。这些是我会考虑,以便:

  1. 冬眠。休眠已经存在了很长一段时间并具有真正铺平了道路,为对象。唯一的问题,我有休眠的许可。这是LGPL授权,这可能会导致一些商业公司蠕动(原因我不会走进这里)。无论如何,如果LGPL是你的问题,它可能是好的指导清楚。

  2. EclipseLink.一些背景eclipselink.Toplink Essentials是Oracle的免费版本,他们的访问用户的执行。EclipseLink是从Toplink、Oracle的完全成熟的访问用户的执行。EclipseLink将是访问用户2.0提供商对于我们v3。0因此它看起来像一切都是移动远离Toplink Essentials和EclipseLink.虽然EclipseLink版本仅1.0.2,产品已经存在了很长一段时间在其他的名称。

一个项目,我的工作是在Toplink Essentials但现在我们计划开关于Eclipselink不久。休眠是出于授权的问题,我前面提到的。

OpenJPA被称为古道,这是什么东亚购买了相当长时间以前。高堂是执行被创建和现在。此外,我们使用OpenJPA相当深入。因此,我woudn不说,这是不成熟。这很好但是我建议使用休眠,即,访问用户包装休眠状态。

理由吗?1)访问用户是非常,非常类似于休眠 2)许多工作职位都有休眠的要求。这是更好地贫纳入主流的产品...基本上

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top