エンティティー Bean は、通常、データベースに格納されているデータを表すエンタープライズ Bean です。エンティティー Bean は EJB 2.1 仕様に含まれ、J2EE 1.4 エンタープライズアプリケーションで使用されます。Java EE 5 エンタープライズアプリケーションでは、データベースとの対話に Java Persistence API を使用します。
各エンティティー Bean が、データベースレコードのフィールドなどのデータのセットを表します。エンティティー Bean の各インスタンスには、データベースの表の行などのデータの 1 要素が含まれます。
エンティティー Bean には、2 つのタイプの持続性があります。
クライアント (Bean のユーザー) は、エンティティー Bean のホームインタフェースのメソッドを使用して、データベースに存在するエンティティーの検索、およびデータベースへの新しいエンティティーの挿入ができます。これらのメソッドは、J2EE[tm] 仕様で定義されています。
エンティティー Bean は、複数のクライアントで共有できます。クライアントが同じデータを変更することがあるため、エンティティー Bean はトランザクションを使用する必要があります。通常、EJB コンテナがトランザクションを管理します。
エンティティー Bean の状態は、データベースなどのストレージメカニズムに保存され、状態が持続します。持続とは、エンティティー Bean の状態がアプリケーションまたは J2EE サーバープロセスの寿命を超えて存在するという意味です。データベースのデータは、データベースサーバーまたはサービスを提供するアプリケーションをシャットダウンしたあとも存在するため、持続性があります。
次の条件下では、多くの場合、セッション Bean ではなくエンティティー Bean を使用する必要があります。