定義
Plain Old Java Object (POJO) は、あるJavaオブジェクトがEJB(特にEJB 3より前のEJB)のように特殊なものではなく、ごく普通のJavaオブジェクトであることを強調した名称
POJOではないEJBとは?
EJB (Enterprise JavaBeans)
EJBは、多階層(3階層)の分散オブジェクト指向に基づいたJavaのためのサーバコンポ-ネントモデル
EJBオブジェクト例
O/Rマッピングを使用して顧客 (Customer) オブジェクトを永続化(DBに保存)するサービスクラス(セッションBean)
public class CustomerService {
@PersistenceContext
private EntityManager entityManager;
public void addCustomer(Customer customer) {
entityManager.persist(customer);
}
}
以下の図の「Session Bean」に対応しています。
実装に関してはこちらが詳しいです。
[Java]新人向けにJavaBeansの直列化やフィールド・プロパティの謎をPOJOとの違いを交えて解説 - Qiita
##ちなみにオブジェクトとは?
- 固有の属性(内部状態)を持つ
- 他のオブジェクトと関係を持つ
- uniqueな名前を持つ
- ある共通の性質を持つものをまとめて1つのグループとすることができる : クラス (Class)
- 固有の操作を持ち,この操作のみが許される : カプセル化,情報隠蔽
- 属性値の参照
- 属性値の変更
- オブジェクトの生成・消滅
- 操作名が同じでも異なるクラスのオブジェクトに 適用されれば,効果は異なる(Polymorphism)
- メッセージ通信による計算(Message Passing)