これは、oracle.jbo.server.EntityImplから直接または間接的に拡張したクラスである。このクラスをインスタンス化すると、1つの行になる。validateEntityメソッドや属性のセッター・メソッドにカスタム検証ロジック・コードを追加したり、ゲッター・メソッドで属性値を計算するなど、メソッドをカスタマイズする場合がある。このような場合、ビジネス・コンポーネント・プロジェクト・ウィザード、ビジネス・コンポーネント・パッケージ・ウィザードまたはパッケージ・エディタ、あるいはエンティティ・オブジェクト・ウィザードまたはエンティティ・オブジェクト・エディタを使用して、エンティティ・オブジェクトに対してこのJavaクラスを生成できる。このクラスは、カスタム・クラスから拡張するよう指定できる(カスタム・クラスは、EntityImplクラスを直接的または間接的に拡張したもので、プロジェクト・クラスパス内にあることが必要)。たとえば、すでに記述されているコードを再利用する場合、または特別なニーズに合せてビジネス・コンポーネントのフレームワークをカスタマイズするように組織で決定した場合には、このように指定できる。ウィザードでは、オプションで次のものを生成できる。
アクセッサ・メソッド。たとえばgetJobやsetJobなどで、対応する属性フィールドに対してタイプ・セーフなアクセスを提供し、検証のための独自のカスタム・コードを追加する場所を提供する。
データ操作メソッド。たとえばlockメソッドやdoDMLメソッドで、lockメソッドは、変更して、エンティティ・オブジェクトのロック動作をカスタマイズできる。doDMLメソッドは、変更して、更新、挿入および削除ロジックをカスタマイズできる。lockメソッドは、データベース内のエンティティの行が変更のためにロックされるたびに、フレームワークによってコールされる。doDMLメソッドは、トランザクション・コミット・サイクル中にエンティティ・インスタンスに対応する行の挿入、更新または削除を行うために、フレームワークにより適切なDMLコマンドとともにコールされる。このメソッドをオーバーライドして、更新動作を変更できる。たとえば、フレームワークのようにSQL文を介して直接更新するかわりに、データベースへのプロシージャ・コールを介して更新できる。
createメソッド。このメソッドを変更することにより、エンティティ・オブジェクトの作成ロジックに対する初期化機能をカスタマイズまたは追加できる。属性にデフォルト値を設定する場合などに使用する。
removeメソッド。このメソッドを変更することにより、エンティティ・オブジェクトの削除ロジックに対するクリーンアップ・コードをカスタマイズまたは追加できる。コンポジット内の子オブジェクトを削除する必要がある場合などに使用する。