Plain Old Java Object

POJO は以前から存在しましたが、これらは、Java™ EE 5 のプログラミング方法論ではさらに重要な役割を果たします。この製品では、POJO から作成したエンタープライズ Bean とエンティティーを使用することにより、パーシスタンス機能を備えた EJB アプリケーションを作成できます。

これまで Java 2 Enterprise Edition フレームワークの複雑さは、導入の大きな障害となっていました。Java EE 5 仕様では、POJO をその設計パラダイムの基礎とすることで、よりシンプルな開発作業を追及しました。POJO プログラミング・モデルによって、アプリケーション・サーバーの外部での単体テストが可能になり、プログラミング作業全体がよりスムーズなものとなります。

シンプルな POJO

以下のコードは、シンプルな POJO の 一例です。 いかなるインターフェースへの参照も存在していない点に注目してください。この POJO を EJB 2.1 アプリケーションの基礎として使用するには、POJO をサポートする追加のフレームワーク・クラスが必要であり、そのクラス自体が追加のインターフェースを実装しなければなりません。

public class Test {

    String name;

		/**
    *  This is a constructor for a Test Object.
    **/
    public Test(){
    
        name = "Jane";

    } 

}

EJB 3.0 Bean を作成するには、クラス・レベルで注釈を定義するコンポーネントを投入します。 以下の例では、@Stateless 注釈を追加することで、POJO はステートレス・セッション Bean に変わります。

@Stateless

String class Test {

	String name;

	/**
	* This is a constructor for a Test Object.
	**/
	public Test () {

			name = "jane";

	}

}
実際に使用するアプリケーションでは、POJO は追加のビジネス・ロジックを必要とします。 Java EE 仕様のコンテキストで POJO を使用することの基本的な考え方は、関連付けの対象となる コンポーネントについてのメタデータを、直接 POJO に関連付けるということです。このアプローチは、処理する必要のある成果物の数を減らし、より簡単にメタデータの整合性を保証します。
また、この新しい POJO ベースのプログラミング・モデルによって 、XML でのビジネス・ロジックの作成とは対照的に、お客様は専ら Java エディターで Java EE 5 コンポーネントを扱うこととなります。このアプリケーション開発ソフトウェアでの作業により 、Java EE 5 アプリケーション (入力時の検証、コンテンツ・アシスト、および リファクタリングなど) の開発プロセスをさらに簡略化できるフィーチャーを活用することができます。