「JavaにおけるO/Rマッピング」の編集履歴(バックアップ)一覧はこちら

JavaにおけるO/Rマッピング」(2005/09/07 (水) 22:57:04) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

O/Rマッピング→DBのレコードをデータマッピングクラスの1つのインスタンスとして扱う。<br> <br> JAVAのO/Rマッピング→フィールドに対応するsetter/getterメソッドを持つクラスを介してDBテーブルを扱う。<br> <span style="color: rgb(255, 102, 0);">いいこと</span><br> <ul> <li> フィールドにデータを保持したオブジェクトをそのまま保存できる</li> <li> データをjavaクラスのインスタンスとしてまとまった形で取り出せる。</li> </ul> setter/getterメソッドを持つクラスの形式はJavaBeansの標準的な規約の為けっこういろんなユーティリティーやフレームワークを利用する際に便利。<br> <br> メジャーなO/Rマッピングソリューション<br> →Entity Bean<br> EJB(Enterprise Java Beans)の仕様で定義されるEnterprise Beanの一種でEJBオブジェクトによってデータエンティティを表現する。<br> EJB QLというクエリ言語を使う。<br> <br> <span style="color: rgb(255, 102, 0);">EJBの機能</span><br> <ul> <li>トランザクション管理機能</li> <li>セキュリティ管理</li> </ul> <span style="color: rgb(255, 102, 0);">EJBの問題点</span><br> <ul> <li>シンプルなマッピングソリューションではない</li> <li>重い</li> <li>デプロイのための決まりごとがめんどくさい</li> <li>上記の理由によりテストが容易でない</li> <li>SQLの確認が困難 (自動発行されるため)</li> </ul> でも、もともとEJBはO/Rマッピングそのもののためのものじゃないからしょうがないのだ。<br> <br> <br> サンのO/Rマッピング仕様「JDO」<br> JDO→Java Data Objects<br> <br> JDOではAPIのみ提供してるので実装はベンダにゆだねられている。<br> こんなフレームワークがJDOに準拠している<br> <ul> <li>TopLink</li> <li>Castor</li> <li>ObjectRelationalBridge</li> <li>LiDO</li> <li>JDO</li> </ul> <span style="color: rgb(255, 102, 0);">JDOのいいところ</span><br> JDOが提供するO/Rマッピングの仕組みはサーバに依存しない。<br> ObjectとRDBのマッピングだけではなくODB・ERPに対してのAPIも定義している。<br> <br> <span style="color: rgb(153, 51, 153);">JDOのアーキテクチャ<br> <span style="color: rgb(0, 0, 0);">PersistenceManager:</span><br style= "color: rgb(0, 0, 0);"> <span style= "color: rgb(0, 0, 0);">JDOアーキテクチャの中心。</span><br style= "color: rgb(0, 0, 0);"> <span style= "color: rgb(0, 0, 0);">PersistenceManagerの各種メソッドによってobjの永続化や取得を行う。QueryインターフェースやTransactionインターフェースのインスタンスを返すFactoryの役目もある。<br> <br> PersistenceManagerFactory:<br> PersistenceManagerのインスタンスを生成するためのFactoryの役目を果たす。<br> <br> PersistenceCapable:<br> 永続化オブジェクトに実装されるべきメソッドを定義する。<br> JDOではこの<br></span></span><br> 。。。。<br> <br> <br> <br>
O/Rマッピング→DBのレコードをデータマッピングクラスの1つのインスタンスとして扱う。<br> <br> JAVAのO/Rマッピング→フィールドに対応するsetter/getterメソッドを持つクラスを介してDBテーブルを扱う。<br> <span style="color: rgb(255, 102, 0);">いいこと</span><br> <ul> <li> フィールドにデータを保持したオブジェクトをそのまま保存できる</li> <li> データをjavaクラスのインスタンスとしてまとまった形で取り出せる。</li> </ul> setter/getterメソッドを持つクラスの形式はJavaBeansの標準的な規約の為けっこういろんなユーティリティーやフレームワークを利用する際に便利。<br> <br> メジャーなO/Rマッピングソリューション<br> →Entity Bean<br> EJB(Enterprise Java Beans)の仕様で定義されるEnterprise Beanの一種でEJBオブジェクトによってデータエンティティを表現する。<br> EJB QLというクエリ言語を使う。<br> <br> <span style="color: rgb(255, 102, 0);">EJBの機能</span><br> <ul> <li>トランザクション管理機能</li> <li>セキュリティ管理</li> </ul> <span style="color: rgb(255, 102, 0);">EJBの問題点</span><br> <ul> <li>シンプルなマッピングソリューションではない</li> <li>重い</li> <li>デプロイのための決まりごとがめんどくさい</li> <li>上記の理由によりテストが容易でない</li> <li>SQLの確認が困難 (自動発行されるため)</li> </ul> でも、もともとEJBはO/Rマッピングそのもののためのものじゃないからしょうがないのだ。<br> <hr size="2" width="100%"> <b style= "color: rgb(255, 102, 0);">サンのO/Rマッピング仕様「JDO」</b><br> JDO→Java Data Objects<br> <br> JDOではAPIのみ提供してるので実装はベンダにゆだねられている。<br> こんなフレームワークがJDOに準拠している<br> <ul> <li>TopLink</li> <li>Castor</li> <li>ObjectRelationalBridge</li> <li>LiDO</li> <li>JDO</li> </ul> <span style="color: rgb(255, 102, 0);">JDOのいいところ</span><br> JDOが提供するO/Rマッピングの仕組みはサーバに依存しない。<br> ObjectとRDBのマッピングだけではなくODB・ERPに対してのAPIも定義している。<br> <br> <span style="color: rgb(153, 51, 153);">JDOのアーキテクチャ<br> <span style="color: rgb(0, 0, 0);">PersistenceManager:</span><br style= "color: rgb(0, 0, 0);"> <span style= "color: rgb(0, 0, 0);">JDOアーキテクチャの中心。</span><br style= "color: rgb(0, 0, 0);"> <span style= "color: rgb(0, 0, 0);">PersistenceManagerの各種メソッドによってobjの永続化や取得を行う。QueryインターフェースやTransactionインターフェースのインスタンスを返すFactoryの役目もある。<br> <br> PersistenceManagerFactory:<br> PersistenceManagerのインスタンスを生成するためのFactoryの役目を果たす。<br> <br> PersistenceCapable:<br> 永続化オブジェクトに実装されるべきメソッドを定義する。<br> JDOではこの<br></span></span><br> 。。。。<br> <br> <br> <br>

表示オプション

横に並べて表示:
変化行の前後のみ表示:
記事メニュー
人気記事ランキング
目安箱バナー