お勉強メモ
Rマッピング
最終更新:
匿名ユーザー
-
view
O/Rマッピング→DBのレコードをデータマッピングクラスの1つのインスタンスとして扱う。
JAVAのO/Rマッピング→フィールドに対応するsetter/getterメソッドを持つクラスを介してDBテーブルを扱う。
いいこと
メジャーなO/Rマッピングソリューション
→Entity Bean
EJB(Enterprise Java Beans)の仕様で定義されるEnterprise Beanの一種でEJBオブジェクトによってデータエンティティを表現する。
EJB QLというクエリ言語を使う。
EJBの機能
サンのO/Rマッピング仕様「JDO」
JDO→Java Data Objects
JDOではAPIのみ提供してるので実装はベンダにゆだねられている。
こんなフレームワークがJDOに準拠している
JDOが提供するO/Rマッピングの仕組みはサーバに依存しない。
ObjectとRDBのマッピングだけではなくODB・ERPに対してのAPIも定義している。
JDOのアーキテクチャ
PersistenceManager:
JDOアーキテクチャの中心。
PersistenceManagerの各種メソッドによってobjの永続化や取得を行う。QueryインターフェースやTransactionインターフェースのインスタンスを返すFactoryの役目もある。
PersistenceManagerFactory:
PersistenceManagerのインスタンスを生成するためのFactoryの役目を果たす。
PersistenceCapable:
永続化オブジェクトに実装されるべきメソッドを定義する。
JDOではこの
。。。。
JAVAのO/Rマッピング→フィールドに対応するsetter/getterメソッドを持つクラスを介してDBテーブルを扱う。
いいこと
- フィールドにデータを保持したオブジェクトをそのまま保存できる
- データをjavaクラスのインスタンスとしてまとまった形で取り出せる。
メジャーなO/Rマッピングソリューション
→Entity Bean
EJB(Enterprise Java Beans)の仕様で定義されるEnterprise Beanの一種でEJBオブジェクトによってデータエンティティを表現する。
EJB QLというクエリ言語を使う。
EJBの機能
- トランザクション管理機能
- セキュリティ管理
- シンプルなマッピングソリューションではない
- 重い
- デプロイのための決まりごとがめんどくさい
- 上記の理由によりテストが容易でない
- SQLの確認が困難 (自動発行されるため)
サンのO/Rマッピング仕様「JDO」
JDO→Java Data Objects
JDOではAPIのみ提供してるので実装はベンダにゆだねられている。
こんなフレームワークがJDOに準拠している
- TopLink
- Castor
- ObjectRelationalBridge
- LiDO
- JDO
JDOが提供するO/Rマッピングの仕組みはサーバに依存しない。
ObjectとRDBのマッピングだけではなくODB・ERPに対してのAPIも定義している。
JDOのアーキテクチャ
PersistenceManager:
JDOアーキテクチャの中心。
PersistenceManagerの各種メソッドによってobjの永続化や取得を行う。QueryインターフェースやTransactionインターフェースのインスタンスを返すFactoryの役目もある。
PersistenceManagerFactory:
PersistenceManagerのインスタンスを生成するためのFactoryの役目を果たす。
PersistenceCapable:
永続化オブジェクトに実装されるべきメソッドを定義する。
JDOではこの
。。。。