■ Doma
* Doma : Domain Oriented MApping framework (ドメイン指向マッピングフレームワーク) * 読み方は、「ドマ」 * Javaの和製フレームワーク Seasar の O/Rマッパー S2Dao の後継として、開発。 => 現在は、Seasarプロジェクトとは、独立。http://www.seasar.org/
* リリースノートを参照したけど、2018/10/11現在もメンテしてるので、少し安心。https://github.com/domaframework/doma/releases
ライセンス
* Apache License, Version 2.0 => 商用可能
バージョン
https://github.com/domaframework/domaDoma
* Java 6 でコンパイルされ、 Java 6、 Java 7、 Java 8 上で動作Doma2
* Java 8 以上。Java 7 以前では対応せずDoma3
* Java 11。 # Doma3 まであるのは、知らなかった... 開発中?https://doma.readthedocs.io/ja/doma-3/
■ 特徴 / 利点
* SQLを外部ファイルに書ける (2 Way SQL) * 依存ライブラリがない * Javaの「Pluggable Annotation Processing API」を使い コンパイル時にできるだけチェックし、ミスを事前に防いでくれるhttps://doma.readthedocs.io/ja/stable/annotation-processing/
=> 「Pluggable Annotation Processing API」については、以下の関連記事を参照のこと。https://blogs.yahoo.co.jp/dk521123/37774601.html
■ 公式サイト
https://doma.readthedocs.io/ja/stable/Doma-Gen
https://doma-gen.readthedocs.io/ja/stable/
その他
* 公式サイトではないが、Domaの開発者の中村さんが書いたものhttps://qiita.com/nakamura-to/items/099cf72f5465d0323521
https://www.slideshare.net/taedium/doma-sql
https://event.seasarfoundation.org/sc2009autumn/Session/sc2009autumn_s304_2_doma.pdf
https://www.slideshare.net/taedium/daodoma
http://d.hatena.ne.jp/taedium/20100111/p1
■ トランザクション
https://doma.readthedocs.io/ja/stable/transaction/Domaは、ローカルトランザクションをサポートします。 ... 略 ... グローバルトランザクションを使用したい場合は、JTA(Java Transaction API) の実装を もつフレームワークやアプリケーションサーバーの機能を利用してください。
ローカルトランザクション / グローバルトランザクション
* 以下が分かりやすいhttps://wa3.i-3-i.info/word16110.html
https://wa3.i-3-i.info/word16109.html
* ローカルトランザクション => 単体のデータベースのトランザクション処理 * グローバルトランザクション => 複数のデータベースにまたがるトランザクション処理
■ 補足 : .NET版 / Soma
* Domaの.NET版であるSoma(Sql Oriented MApping framework)もあるらしい => 詳細は以下。http://d.hatena.ne.jp/taedium/20100615/p1
* ただ、2018/11/01現在の最新版が、v1.9.0.1(2016/08/12)で2年以上経ってるのでメンテされてるのか...https://github.com/nakamura-to/Soma/releases
公式サイト
https://archive.codeplex.com/?p=somaGitHub
https://github.com/nakamura-to/Soma
関連記事
【Java】DBアクセスライブラリ [0] ~ 目次 ~
https://blogs.yahoo.co.jp/dk521123/37773005.htmlDoma関連
Doma ~ 初期環境構築 / コード生成 / Hello World ~https://blogs.yahoo.co.jp/dk521123/37799753.html