ActiveObjects
https://activeobjects.dev.java.net/api/net/java/ao/cache/CacheLayer.htmlのクラスの概要を翻訳しました。 本文 エンティティのキャッシュの値セマンティクス*1を管理するクラスの上位インタフェースです。このインタフェースの実装は、対応するキャッシ…
ActiveObjectsがサポートするデータベース用のプロバイダは、net.java.ao.db.SupportedDBProviderのENUM定数になっています。 今回はこのENUM定数の内容をもとに、ActiveObjectsがサポートするデータベースを表をまとめました。 DB URIプロトコル サポート状…
ActiveObjectsがサポートするコネクション・プーリング用のプロバイダは、net.java.ao.db.SupportedPoolProviderのENUM定数になっています。 今回はこのENUM定数の内容をもとに、ActiveObjectsがサポートするコネクション・プーリングを表にまとめました。 …
ActiveObjectsのJavaDocから英単語を抽出する手順を動画に記録してみました。画面サイズが大きすぎたので、動画にすると文字がよく見えなくなってしまいました。 とりあえず今回は雰囲気だけでも伝わればよいです・・・。 また今度取り直します・・・。 取り…
DatabaseTypeの使いどころを調査していたところ、DatabaseProviderとその子クラスで頻繁に使われていることがわかりました。 そこで、まずDatabaseProviderの役割を理解するために、DatabaseProviderのjavadoc(メソッド概要部分)を日本語訳してみました。 た…
ActiveObjectsのDatabaseTypeを継承するクラスと、Javaの型の関連をまとめました。なお、DatabaseTypeを継承するクラスはpublicではありません。この情報がどういう場面で有用なのかは未調査です。以下、個人的な判断に基づく種類に分類してあります。 数値 …
パッケージ、クラスごとにActiveObjectsの例外のthrowについて整理しました。 実装依存な情報なので、参考まで。 ※publicなクラスにはjavadocへのリンクをつけました。 パッケージ:net.java.ao.db クラス:SQLServerDatabaseProvider エラーオブジェクト メッ…
Enitityの継承関係を表現できるようになりました。矢印の先が継承されるエンティティです。エンティティの移動や追加も自動的に追跡します。
http://d.hatena.ne.jp/nattou_curry_2/20081112/1226497826で作り始めたGraphicalActiveObjectsの作成状況です。 ※GraphicalActiveObjects…ActiveObjectsのエンティティ関連を作成するGUIプログラムドラッグアンドドロップで画面上のエンティティの組み立て…
ActiveObjectsを試している時に、必ず以下のような手順を踏んでいました。 紙かエクセルにエンティティ関連図を書く。 エンティティ関連図の内容をEntity(Javaのインタフェース)に直す。 わざわざ二つステップを踏むのが無駄なので、GUIで書いたエンティティ…
ActiveObjectsのマイグレーション処理の流れd:id:nattou_curry_2:20081109:1226228944で省略した、依存関係の解決とDDL作成のアルゴリズムについて図解しました。 今回の対象とするエンティティ関連図 以下は、この関連図に現れる、EntityAのマイグレーショ…
d:id:nattou_curry_2:20081108:1226139684では、マイグレーション時のインデックスDDL作成について少し調べました。 今回はもう少し範囲を広げて、ソースの内容からマイグレーション処理の流れを調べてみました。対象のクラスはnet.java.ao.schema.SchemaGen…
今回は、PolymorphicアノテーションとOneToManyアノテーションを組み合わせ、再帰的なデータ構造を表現してみました。 使用した題材は、ディレクトリ・ファイルの階層構造です。 ディレクトリの中にはサブディレクトリとファイルが複数含まれ、さらにサブデ…
はじめに ActiveObjectsを試していて、思ったとおりに動かなかったので、ソースにログ出力を追加して動きを追ってみようと思います。 ログ出力の追加のために、ActiveObjectsをビルドします。 ビルド対象のソースのバージョンは。0.8.2です。 ビルド失敗 単…
ActiveObjectsのPolymorphicアノテーションの挙動を理解するために、・・・の第二回。 でも、じつは第一回の前に試していたのを忘れていただけです。 順序が逆です。それはともかく、今回はシンプルなPolymorphicです。 概要 まず、UserとComputerが関連する…
ActiveObjectsのPolymorphicアノテーションの挙動を理解するために、いろいろな使い方を試してみようと思います。 これから何回か「Polymorphicの実験」というタイトルで、他のアノテーションとの組み合わせ等、試していきます。今回は、多対多&ポリモフィ…
Polymorphicがよくわからないので、 https://activeobjects.dev.java.net/api/net/java/ao/Polymorphic.htmlを日本語訳してみました。 net.java.ao.Polymorphic エンティティ型をポリモフィックな抽象型に指定する。指定されたインタフェースは、(そのインタ…
ActiveObjectsのJavadoc(https://activeobjects.dev.java.net/api/overview-summary.html)に記載されているクラス概要について翻訳してみました。 インタフェース、クラス、列挙型、アノテーションに分けて表にしました。 なお、publicなクラスのうちでも、…
https://activeobjects.dev.java.net/ActiveObjects.pdfでPDF形式で公開されているActiveObjectsのドキュメントを勝手に日本語訳してみました。誤訳や誤植等あるかもしれませんが、ソースファイルを読んだ内容と比べても違和感はないので、大間違いはないと…
ActiveObjectsではエンティティの実装を書く必要はありません。 EntityManagerに対しfind()メソッド等を呼び出すことで、エンティティの実装を取得することができますが、 この実装はActiveObjectsが動的に作成してくれるものです。 今回は、エンティティに…
EntityManagerオブジェクトには、エンティティの取得や作成のメソッドが含まれています。 ActiveObjectを使う場合、頻繁にこのクラスのメソッドを利用することになると思います。 そこで、今回はEntityManagerのメソッドについて以下のようにまとめてみまし…
先月からActiveObjectsのソースファイルを読んでいますが、頻繁にnet.java.ao.Commonsクラスのメソッドの呼び出しが現れます。 このクラスのメソッドは、ActiveObjects内でよく行われる処理のユーティリティメソッドのようです。 そこで、今後のソースの解析…
今回作成したファイル InsertProxy.java InsertHandler.java ソースコード サンプルコード package example; import net.java.ao.*; import net.java.ao.db.*; import java.util.logging.*; import java.util.*; public class InsertTest { public static vo…
エンティティinterface interface 説明 RawEntity すべてのエンティティのスーパーinterface Entity 主キーが「id」のエンティティ net.java.aoパッケージのアノテーション アノテーション 説明 保持ポリシー ターゲット 値 Accessor get/set規約に従わない…
試してみました。 userテーブル(d:id:nattou_curry_2:20081010:1223588747参照)からユーザ情報を全件検索して、テーブルに表示します。 結果画面 データ mysql> select * from user; +---------+--------------+--------------------+ | user_id | name | us…
時間がないので、とりあえずメモ import net.java.ao.*; import net.java.ao.db.*; import java.util.logging.*; public class Test { public static void main( String args ) throws Exception { Class.forName("com.mysql.jdbc.Driver"); EntityManager m…
布団の中で、http://d.hatena.ne.jp/nattou_curry_2/20080928/1222606223について考えていたら、気になったので、さらに整理(、というか考察)をしました。 find()にて主キーしか取得できない(キャッシュされない) 最もシンプルなfind()であるEntityManager.f…