Ejbと休止状態の違い

Anonim

Ejb vs Hibernate

EJBに到達するには、EJBがどこから出てくるのかを理解することは良いことです。エンティティBeanには2つのタイプがあります。これらはCMPとBMPです。 CMPはContainer Managed Persistenceを指し、BMPはBean Managed Persistenceを指します。 EJBは、SQLでリレーショナルデータベースを扱う際に、オブジェクトの定式化やシリアライゼーションに特に使用されます。

<! - 1 - >

複雑なアプリケーションの開発が始まると、モデリングが始まります。複雑な相互関係があり、うまく実装されていないと多くの問題を引き起こす可能性があるため、クラスとオブジェクトはテーブルよりも優先されます。これは本質的には、テーブルではなくオブジェクトで思考のデザインを採用するシステムを扱うことを意味します。リレーショナルデータベースの使用は非常に高速であり、時間の経過とともにテストされます。これは、オブジェクトのシリアライゼーションと比較すると、複雑なオブジェクトのシリアライゼーションが非常に遅いプロセスであるため、時間が節約されます。リレーショナルデータベーステクノロジの使用は、多くの開発者の間で迅速かつ時間をかけてテストされ、一般的です。

<! - 2 - >

開発中のテーブルを純粋に扱うことができ、データ操作やデータ読み込みでセッションBeanを使用することができます。これが可能な限り、その実用性は不可能です。特に、上記の方法を使用するための非常に複雑なプロジェクトを扱う場合は、実用性はありません。これは、EJBでのエンティティBeanの使用に続く基本です。

EJB1のCMPは、他のテーブルと複雑な関係にない単純なテーブルでの使用に適しているように設計されています。 CMPを使用すると、基礎となるデータベースを参照する参照が回避されます。これは実際にはより移植性があり、ベンダーのロックインが発生しないことを意味します。また、EJB 1は、リレーショナルデータベース以外のオブジェクトデータベースにもデータを保持します。

<! EJB 3.0には、全体的な機能を向上させることを目的とした革新的な設計が採用されています。主な変更点は、CMPの記述形式です。関係を提供し、EBJ-QLと呼ばれる簡単なクエリ言語の使用を提案します。この言語は、エンティティBeanをセッションBeanと呼ぶことでネットワークトラフィックを最小限に抑えることを目的としています。

一方、Hibernateは、ORMツールであり、EJBと共通の急な学習曲線を持たず、EJBほどエラーが起こりにくいツールです。 Hibernateはその柔軟性のために推奨されており、サーブレットとJSPの使用を可能にしています。 Hibernateは、J2EE仕様に基づいて構築されているため、開発者が持つほとんどのアプリケーションに適用できます。 HibernateはEJBコンテナでしか使用できないだけでなく、スタンドアロンのコンテナやWebコンテナにも適用できるため、特別なORMツールです。これは、EJBとHibernateの間に目立つ主な違いです。したがって、Hibernateを使用した開発は、EJBの使用とは対照的に、はるかに簡単で複雑さが少なくなります。

J2EE環境のユーザーの間でHibernateが一見有名ですが、EBJが複雑な機能の開発を続けている場合、Hibernateはユーザーに親しみを持たせるのに時間がかかり、Hibernateが現場で支配的になり、EJB自体が現在のところJ2EEからロックアウトされているため、市場でターゲットを絞っている開発者のほとんどと連絡が取れません。

EJBは、オブジェクトの作成に特別に使用されるエンティティBeanです。

実用的ではありませんが、テーブルを使用してデータの読み取りと操作にセッションBeanを使用する可能性があります。

EBJは、 EJB-QLと呼ばれる開発用のクエリ言語

EBJエラーが発生する可能性がある

Hibernateは比較的簡単に理解し実装できます

HibernateはEJB