一般に、エンティティ・オブジェクトは、次のようなビジネス・ポリシーとデータをカプセル化する。
ビジネスの論理構造(製品ライン、部門、売上、地域など)
ビジネス文書(請求書、注文変更書、サービス要求など)
物理的な項目(倉庫、従業員、設備など)
具体的には、エンティティ・オブジェクトにはビジネス・ロジックおよびデータベース表(またはビュー、シノニムあるいはスナップショット)の列情報を格納する。エンティティ・オブジェクトを既存のデータベース表から作成する(逆方向生成)ことも、エンティティ・オブジェクトを定義し、それを使用してデータベース表を作成する(順方向生成)こともできる。
Business Components for Javaのウィザードを使用して既存の表からエンティティ・オブジェクトを作成する場合、データベース表の各列がエンティティ属性になる。この属性は、列と同じ名前にすることも、ビジネス・アプリケーションの意味を表すような別の名前にすることもできる。エンティティ・オブジェクトには各列の属性を定義できる。また、1つの表に複数のエンティティの情報が含まれている場合は、サブセットを使用することもできる。エンティティ・オブジェクトの属性には、主キーおよび外部キー関係、最大文字数、精度、スケールの仕様、オブジェクトREFの情報などの、導出元のデータベース表で指定されているデータ型情報が格納される。
エンティティ・オブジェクト・ウィザードおよびエンティティ・オブジェクト・エディタを使用して、エンティティ・オブジェクトを作成および編集できる。通常は、表ごとに1つのエンティティ・オブジェクトがある。1つの表に複数のエンティティ・オブジェクトがある場合は、更新可能な属性はそれぞれ1つのエンティティ・オブジェクトにのみ示されるようにする。このようにしない場合は、行を変更しても、その変更は他のエンティティ・オブジェクトに反映されない。
実行時、各エンティティ・オブジェクト・インスタンスは、データベース表の1行を表し、そのデータを格納する。行ごとに1つのインスタンスのみが定義され、同じエンティティ・クラスのすべてのインスタンスは、まとめてキャッシュされる。同じ行を返す複数のビュー・オブジェクトの問合せでは、同じエンティティ・オブジェクト・インスタンスが参照される。このため、更新はすべてのビュー・オブジェクトで参照できるようになり、1つのエンティティ・オブジェクトを複数のビュー・オブジェクトで使用できる。
エンティティ・オブジェクトは、クライアントには公開されていない。かわりに、クライアントは1つ以上のビュー・オブジェクトを介してエンティティ・オブジェクトのデータにアクセスする。ビュー行クラスでは、公開するメソッドをコールするビュー・オブジェクト・メソッドを記述することにより、エンティティ・オブジェクト・メソッドをクライアントに公開できる。
エンティティ・オブジェクト間の関係は、Associationにより表現される。関連元および関連先のエンティティ・オブジェクトの属性(通常はキー・フィールド)は一致している必要がある。Associationを介して行および行セットを返すメソッドは、エンティティ・オブジェクト・クラスで使用できる。
ビジネス・ロジックの大部分は、エンティティ・オブジェクトで実装される。たとえば検証規則(sal > 700など)を使用すると、問合せで無効な値が返されることや、ユーザーが無効な値を表に入力することを回避できる。ビジネス・ロジックは1箇所で定義され更新される。これには、複数のクライアントでビジネス・ロジックを使用し、変更が必要な場合に簡単に更新できるという利点がある。
アプリケーションで必要なエンティティ・オブジェクトを決定するには、通常、UMLオブジェクト指向モデリングの技法を使用する。