orm

ActiveObjects: An Easier Java ORMの日本語訳

http://www.javalobby.org/articles/activeobjects/の日本語訳です。 複数回に分けて訳しました。 An Easier Java ORM(1) An Easier Java ORM(2) 教訓をJavaに活かす An Easier Java ORM(3) 実装の詳細を詰める An Easier Java ORM(4) 複雑な問い合わせ An E…

An Easier Java ORM(7) おわりに

http://www.javalobby.org/articles/activeobjects/の日本語訳です。An Easier Java ORM(6) 動く! - 目次に戻る おわりに - Conclusion ActiveObjectsは強力で効率がよくとても分かりやすいJavaのORMです。文法は柔軟で使いやすいですし、広範囲に及ぶ設定が…

An Easier Java ORM(5) Active Recordパターンを実装する

http://www.javalobby.org/articles/activeobjects/の日本語訳です。An Easier Java ORM(4) 複雑な問い合わせ - 目次に戻る - An Easier Java ORM(6) 動く! >> Active Recordパターンを実装する - Implementing the Active Record Pattern Martin FowlerはAc…

An Easier Java ORM(4) 複雑な問い合わせ

http://www.javalobby.org/articles/activeobjects/の日本語訳です。An Easier Java ORM(3) 実装の詳細を詰める - 目次に戻る - An Easier Java ORM(5) Active Recordパターンを実装する >> 複雑な問い合わせ - Complex Queries もちろん、カプセル化と単純…

An Easier Java ORM(6) 動く!

http://www.javalobby.org/articles/activeobjects/の日本語訳です。An Easier Java ORM(5) Active Recordパターンを実装する - 目次に戻る - An Easier Java ORM(7) おわりに >> 動く! - It Lives! すでにこのブレインストーミングとプロトタイピングは成果…

SwingのJTableでActiveObjectsのエンティティ編集をするための予習

SwingのJTableを使ってActiveObjectsのエンティティを表示・編集できるようにしようと思っています。 JTableはStringなどいくつかのデータ型をデフォルトで編集できるようになっています。しかし、デフォルトですべてのデータ型が編集可能ではないと思います…

An Easier Java ORM(3) 実装の詳細を詰める

http://www.javalobby.org/articles/activeobjects/の日本語訳です。An Easier Java ORM(2) 教訓をJavaに活かす - 目次に戻る - An Easier Java ORM(4) 複雑な問い合わせ >> 実装の詳細を詰める - Fleshing Out the Implementation これらのインタフェースだ…

An Easier Java ORM(2) 教訓をJavaに活かす

http://www.javalobby.org/articles/activeobjects/の日本語訳です。An Easier Java ORM(1) - 目次に戻る - An Easier Java ORM(3) 実装の詳細を詰める >> 教訓をJavaに活かす - Lessons Learned, Applied to Java 確かにActiveRecordは面白いのだけど、どう…

ActiveObjectsを使ってみた(4) - データベースの情報を取得する。

JavaのormであるActiveObjectsを使ってみるシリーズ4回目です。 これまでのシリーズで、使用するDBの切り替えを非常に簡単に行えることを見てきました。DBの切り替えは以下の3か所の変更だけで可能です。 EntityManagerの生成時に渡すURL/ユーザ名/パスワー…

ActiveObjectsを使ってみた(3) - 一覧に検索機能を追加する

ActiveObjectsを使ってみた(2) - PostgreSQLまでに作成した、「単品商品一覧画面」に、検索機能を追加しました。 まずは、画面イメージ 初期表示 すべての単品商品が表示されます。 画面上部のテキストボックスに検索条件を入力し、検索ボタンをクリックする…

ActiveObjectsを使ってみた(2) - PostgreSQL

ActiveObjectsを使ってみた(1)ではMySQLを使いましたが、同じプログラムをPosgreSQLでも動かしてみました。 今回修正が必要な個所は3点のみでした。 EntityManagerの生成時に渡すURL/ユーザ名/パスワード マイグレーション時のクラスパスに含めるJDBCドライ…

ActiveObjectsにおけるアクティブレコードパターン

アクティブレコードパターン 重要なことは、アクティブレコードのオブジェクトは、データベースアクセスをカプセル化していることです。オブジェクトがデータアクセスの機能を提供していると言い換えてもいいでしょう。もっと具体的にいえば、エンティティク…

ActiveObjectsを使ってみた(1)

はじめに ここまでActiveObjectsについていろいろ調べてきました。その結果、どういう仕組みなのかはなんとなーくわかってきたのですが、使いやすいのかどうなのかはさっぱりわかりませんでした。そこで、AOを実際に使ってみて、良し悪しを確かめてみたいと…

An Easier Java ORM(1)

http://www.javalobby.org/articles/activeobjects/の日本語訳です。 目次に戻る - An Easier Java ORM(2) 教訓をJavaに活かす >> 以下本文 JavaにはObject Relational Mappingフレームワークが溢れています。もちろん、最初にHibernateを思いつきますが、iB…

net.java.aoのすべてのアノテーションの概要(javadocの日本語訳)

net.java.aoのアノテーションの概要を日本語訳しました。対象のアノテーションは下表のとおりです。 アノテーション 翻訳対象のjavadoc Accessor https://activeobjects.dev.java.net/api/net/java/ao/Accessor.html Generator https://activeobjects.dev.ja…

net.java.ao.Transactionの概要(javadocの日本語訳)

https://activeobjects.dev.java.net/api/net/java/ao/Transaction.htmlのクラスの概要を翻訳しました。 本文 ActiveObjects APIでは、簡単な構文でデータベーストランザクションを使用できます。このクラスの構文は、RailsのActiveRecord ORMが提供する「ト…

net.java.ao.EntityManagerの概要(javadocの日本語訳)

https://activeobjects.dev.java.net/api/net/java/ao/EntityManager.htmlのクラスの概要を翻訳しました。 本文 ActiveObjects API全体を制御する最上位クラス。EntityManagerはすべてのRawEntityオブジェクトの源泉であるとともにエンティティ間のディスパ…

net.java.ao.cache.CacheLayerの概要(javadocの日本語訳)

https://activeobjects.dev.java.net/api/net/java/ao/cache/CacheLayer.htmlのクラスの概要を翻訳しました。 本文 エンティティのキャッシュの値セマンティクス*1を管理するクラスの上位インタフェースです。このインタフェースの実装は、対応するキャッシ…

ActiveObjectsがサポートするデータベース

ActiveObjectsがサポートするデータベース用のプロバイダは、net.java.ao.db.SupportedDBProviderのENUM定数になっています。 今回はこのENUM定数の内容をもとに、ActiveObjectsがサポートするデータベースを表をまとめました。 DB URIプロトコル サポート状…

ActiveObjectsがサポートするコネクション・プーリング

ActiveObjectsがサポートするコネクション・プーリング用のプロバイダは、net.java.ao.db.SupportedPoolProviderのENUM定数になっています。 今回はこのENUM定数の内容をもとに、ActiveObjectsがサポートするコネクション・プーリングを表にまとめました。 …

net.java.ao.DatabaseProviderのjavadocの日本語訳

DatabaseTypeの使いどころを調査していたところ、DatabaseProviderとその子クラスで頻繁に使われていることがわかりました。 そこで、まずDatabaseProviderの役割を理解するために、DatabaseProviderのjavadoc(メソッド概要部分)を日本語訳してみました。 た…

DatabaseTypeとJavaの型の対応表

ActiveObjectsのDatabaseTypeを継承するクラスと、Javaの型の関連をまとめました。なお、DatabaseTypeを継承するクラスはpublicではありません。この情報がどういう場面で有用なのかは未調査です。以下、個人的な判断に基づく種類に分類してあります。 数値 …

ざっくりActiveObjectsのエラー一覧

パッケージ、クラスごとにActiveObjectsの例外のthrowについて整理しました。 実装依存な情報なので、参考まで。 ※publicなクラスにはjavadocへのリンクをつけました。 パッケージ:net.java.ao.db クラス:SQLServerDatabaseProvider エラーオブジェクト メッ…

GraphicalActiveObjects作成状況(2)

Enitityの継承関係を表現できるようになりました。矢印の先が継承されるエンティティです。エンティティの移動や追加も自動的に追跡します。

GraphicalActiveObjects作成状況(1)

http://d.hatena.ne.jp/nattou_curry_2/20081112/1226497826で作り始めたGraphicalActiveObjectsの作成状況です。 ※GraphicalActiveObjects…ActiveObjectsのエンティティ関連を作成するGUIプログラムドラッグアンドドロップで画面上のエンティティの組み立て…

GraphicalActiveObjects(作成開始)

ActiveObjectsを試している時に、必ず以下のような手順を踏んでいました。 紙かエクセルにエンティティ関連図を書く。 エンティティ関連図の内容をEntity(Javaのインタフェース)に直す。 わざわざ二つステップを踏むのが無駄なので、GUIで書いたエンティティ…

DDL作成時のエンティティ依存関係解決&DDL作成アルゴリズム(図解)

ActiveObjectsのマイグレーション処理の流れd:id:nattou_curry_2:20081109:1226228944で省略した、依存関係の解決とDDL作成のアルゴリズムについて図解しました。 今回の対象とするエンティティ関連図 以下は、この関連図に現れる、EntityAのマイグレーショ…

マイグレーション処理の流れ

d:id:nattou_curry_2:20081108:1226139684では、マイグレーション時のインデックスDDL作成について少し調べました。 今回はもう少し範囲を広げて、ソースの内容からマイグレーション処理の流れを調べてみました。対象のクラスはnet.java.ao.schema.SchemaGen…

Polymorphicの実験(3) ==失敗== @Polymorphicと@OneToManyを組み合わせた再帰的構造

今回は、PolymorphicアノテーションとOneToManyアノテーションを組み合わせ、再帰的なデータ構造を表現してみました。 使用した題材は、ディレクトリ・ファイルの階層構造です。 ディレクトリの中にはサブディレクトリとファイルが複数含まれ、さらにサブデ…

ActiveObjectsのビルド

はじめに ActiveObjectsを試していて、思ったとおりに動かなかったので、ソースにログ出力を追加して動きを追ってみようと思います。 ログ出力の追加のために、ActiveObjectsをビルドします。 ビルド対象のソースのバージョンは。0.8.2です。 ビルド失敗 単…