オブジェクト指向データベースの復権(後編)
ObjectStoreとCachéでOODBへ踏み出そう Page 4
2004/10/1
山田祥寛
[4]データベースにオブジェクトを登録する
データ(オブジェクト)を格納するための準備ができたところで、新規にデータを登録してみることにしよう。以下のようなJavaアプリケーションを用意してみてほしい。
import wings.*; |
リスト9 CreateDb.java(新規データを登録するJavaアプリケーション) |
CacheDatabase#getDatabaseメソッドには、第1引数から接続文字列、ユーザー名、パスワードを指定する。接続文字列の構文は以下のとおりだ。
jdbc:Cache://ホスト名:ポート番号/ネームスペース名 |
オブジェクトを永続化するには、あらかじめ用意された_saveメソッドを利用するだけでよい。これで、BookオブジェクトがCachéデータベースに格納された。
[5]データベースからデータを取得する
次に、手順[4]で格納されたオブジェクトを取得する方法を見てみよう。
import wings.*; |
リスト10 ReadDb.java(格納されたオブジェクトのデータを取得するJavaアプリケーション) |
_openメソッドは、先述の_saveメソッド同様、永続化クラスにあらかじめ用意されたメソッドで、指定された接続先から指定されたIDをキーに、オブジェクトを取得するものだ。いったんデータを取得した後は、通常のオブジェクトを操作するのとまったく同じ要領でプロパティにアクセスすることができる。もちろん、取得したデータのプロパティ値を変更した後、_saveメソッドをコールすれば、更新処理も可能だ。
以上のコードをコンパイルの後、実行すると、以下のような結果が得られるはずだ。
> java ReadDb |
リスト11 実行結果 |
以上、ごく基本的なCachéでのデータの出し入れを見てきたが、もちろん、これがCachéのすべてではない。より詳細な情報を知りたい方は、Cachéスタジオのメニューバーから[ヘルプ]−[Cachéオンラインドキュメント]でチュートリアルを参照することができる。
前編でも紹介したとおり、Cachéの特徴の1つは、データベースにアクセスするためのさまざまなインターフェイスを用意している点にある。例えば、Cachéに対して、JDBC(SQL)経由でアクセスするには、以下のようにすればよい。コードをご覧いただければ分かるように、これならばOODBであることを意識する必要はほとんどない。
import com.intersys.objects.*; |
リスト12 JdbcCache.java(JDBC経由でSQLアクセスするJavaアプリケーション) |
また、Cachéには、Webアプリケーションを簡単に作成するためのCSP(Caché Server Pages)が用意されているのも忘れてはならない。ごく基本的な登録/検索アプリケーションであれば、Cachéスタジオのウィザード画面を利用するだけで作成できてしまう。ここでは、簡単な登録/検索アプリケーションを作成してみよう。
メニューバーの[ファイル]−[新規作成]から[新規作成]ダイアログを立ち上げ、[Caché Server Pages]を選択する。CSPファイルの骨組みが自動生成されるので、次いで、[挿入]−[フォームウィザード]を選択してみよう。[Caché Web Form Wizard]が起動したはずだ。後はウィザードに従って、対象となる永続化クラス、使用するプロパティ、ラベル名など、必要なパラメータを選択していけばよい。
図2 Caché Web Form Wizard(クリックで拡大します) |
ウィザードを完了したら、[表示]−[ブラウザで表示]で作成したフォームを確認できる。登録/更新/検索とひととおりの処理も実行可能な状態であるので、一度、試してみてほしい。
図3 ウィザードで作成した登録/検索画面(クリックで拡大します) |
☆ ☆ ☆
本稿を読んで、概念的にしか理解していなかったオブジェクト指向データベースの世界が、少しは身近な存在に感じられただろう。RDBと異なり、SQLもオブジェクト・マッピングも不要であることから、これまでRDBアプリケーションに慣れてきた読者にとっては、ある種の違和感を覚えたかもしれない。しかし、その違和感を乗り越えてしまえば、むしろオブジェクトをオブジェクトのままに扱えるOODBの世界の「自然さ」が実感できるに違いない。
本稿で紹介した内容はOODBのごく基本的な部分にすぎないが、これを機会にどんどんOODBに触れてみてほしい。RDBを前提とした開発は、条件によっては決して唯一の解ではないことがきっと分かるはずだ。(連載完)
4/4 |
Index | |
連載:オブジェクト指向データベースの復権(後編) ObjectStoreとCachéでOODBへ踏み出そう |
|
Page
1 ObjectStoreのサンプルアプリケーション構築 ・サンプル動作の前提条件 ・[1]PSE Proをインストールする ・[2]環境変数を設定する ・[3]PSE Proに格納するための永続化クラス「Book」を用意する ・[4]ポストプロセス処理を行う |
|
Page
2 ・[5]データベースを生成する ・[6]データベースからデータを取得する |
|
Page
3 Cachéのサンプルアプリケーション構築 ・サンプル動作の前提条件 ・[1]Cachéをインストールする ・[2]環境変数を設定する ・[3]Cachéに格納するための永続化クラス「Book」を用意する |
|
Page
4 ・[4]データベースにオブジェクトを登録する ・[5]データベースからデータを取得する Cachéへのさまざまなアクセス方法 |
オブジェクト指向データベースの復権 |
- Oracleライセンス「SE2」検証 CPUスレッド数制限はどんな仕組みで制御されるのか (2017/7/26)
データベース管理システムの運用でトラブルが発生したらどうするか。DBサポートスペシャリストが現場目線の解決Tipsをお届けします。今回は、Oracle SE2の「CPUスレッド数制限」がどんな仕組みで行われるのかを検証します - ドメイン参加後、SQL Serverが起動しなくなった (2017/7/24)
本連載では、「SQL Server」で発生するトラブルを「どんな方法で」「どのように」解決していくか、正しい対処のためのノウハウを紹介します。今回は、「ドメイン参加後にSQL Serverが起動しなくなった場合の対処方法」を解説します - さらに高度なSQL実行計画の取得」のために理解しておくべきこと (2017/7/21)
日本オラクルのデータベーススペシャリストが「DBAがすぐ実践できる即効テクニック」を紹介する本連載。今回は「より高度なSQL実行計画を取得するために、理解しておいてほしいこと」を解説します - データベースセキュリティが「各種ガイドライン」に記載され始めている事実 (2017/7/20)
本連載では、「データベースセキュリティに必要な対策」を学び、DBMSでの「具体的な実装方法」や「Tips」などを紹介していきます。今回は、「各種ガイドラインが示すコンプライアンス要件に、データベースのセキュリティはどのように記載されているのか」を解説します
|
|