3

私はしばらくの間JPAを使用しており、HibernateAnnotationsとToplinkEssentialsの両方を使用したプロジェクトに参加しています。

プロジェクトリーダーがToplinkを選択したのは、Netbeansがそれを統合していて、簡単にできるように思えたからです。

ただし、ヘルプを探すとき、ほとんどの文献は、JPAプロバイダーとしてHibernateを使用していると想定しているように見えたので、問題は、JPAのデファクトスタンダードを使用しないことの利点、パフォーマンス、またはその他を見つけたかどうかです。休止状態ですか?

4

2 に答える 2

2

JPAの事実上の標準であるHibernateを使用しないことの利点、パフォーマンス、またはその他の方法を見つけましたか?

私が Hibernate を好む傾向がある理由は次のとおりです。

  • コミュニティ(の規模)が重要だと思います。
  • Hibernate のパフォーマンス、ドキュメント、ツール、サポート、拡張機能に満足しています。
  • 私はまだ自分でベンチマークを実行したことがなく、ウェブ上で見つけることができるいくつかのベンチマーク(代表的ではないか、偏っています)を信頼していないため、パフォーマンスの観点から実際に比較することはできません.

しかし、TopLink Essentials は本格的な実装です (GlassFish の商用ディストリビューションで使用されており、TopLink は優れた製品でした)。Hibernate IMHO ほど簡単にヘルプが見つからない可能性があるだけです。

于 2010-03-19T23:48:17.407 に答える
2

アプリケーションが必要とする典型的な操作の速度を実際に比較してみませんか? はい、違いがあります。または、特定の拡張機能が必要な場合がありますが、その場合、Hibernate にはそれらがありません。あなたの意見に反して、JPAには「事実上の」標準はありません。多くの人は、JPA としてではなく、その API を使用して Hibernate を使用しています。プロキシを備えたシステムを使用する際には多くの「落とし穴」があることを知っているので、モデルを設計する際にはそれらを念頭に置く必要があります。他の実装には必ずしもそれらがあるとは限りません。JPAには他にも多くの実装があります。

PS、DataNucleus AccessPlatform はそのような実装の 1 つです。ただし、適用する必要があるのはあなたのプロジェクトであるため、比較を行うのはあなたに任せたいと思います。

于 2010-03-20T06:17:04.763 に答える