Seasar2 が提供している JTA の実装である S2JTA や,JTA と連携するコネクションプールである S2DBCP は,DI コンテナとは独立に使うことができます. 使い方も結構簡単です. まず JTA の場合,TransactionManager は new するだけ. import org.seasar.extension.jta.TransactionManagerImpl; TransactionManager tm = new TransactionManagerImpl();最低限必要なのはこれだけ. もし UserTransaction も使うならこれを追加. import org.seasar.extension.jta.UserTransactionImpl; UserTransaction ut = new UserTransactionImpl(tm);普
Doma 2へようこそ Doma 2はJava 8+向けのデータベースアクセスフレームワークです。Domaにはさまざまな強みがあります。 コンパイル時にアノテーションプロセッサーを使用して、ソースコードを検証および生成します。 型安全なCriteria APIを提供します。 Kotlinをサポートします "two-way SQL"と呼ばれるSQLテンプレートをサポートします。 他のライブラリに依存しません。 このドキュメントは、以下のセクションで構成されています。 ユーザー向けドキュメンテーション Domaについて リンク集 私たちのドキュメントの改善とローカライズをお手伝いください。 ドキュメントに関する英語版および一般的な問題については、 GitHub リポジトリ に issue や pull request を追加してください。 日本語にローカライズするには、Crowdin プロジ
╭━━┳╮╭━╮╭━━━┳━╮╭━╮ ╰┫┣┫┃┃╭╯┃╭━╮┃┃╰╯┃┃ ╱┃┃┃╰╯╯╱┃┃╱┃┃╭╮╭╮┃ ╱┃┃┃╭╮┃╱┃╰━╯┃┃┃┃┃┃ ╭┫┣┫┃┃╰┳┫╭━╮┃┃┃┃┃┃ ╰━━┻╯╰━┻┻╯╱╰┻╯╰╯╰╯ @making's tech note HomeEntriesCategoriesTagsNoteAbout HomeLatest EntriesTanzu Application Platform 1.9 (Full Profile) をEKSにインストールするメモ 🗓 Updated at 2024-04-19T04:20:37Zllama-cpp-pythonを使ってGemmaモデルを使ったOpenAI互換サーバーを起動しSpring AIからアクセスする 🗓 Updated at 2024-02-25T09:05:48ZKubernetesクラスタ内から
ちょっとDomaをさわり始めたので、幾つか要望が出てきた。 Twitterにはぼろぼろと書いてるけど、それを一々拾うのは面倒だろうからまとめておくます。 Doma本体 PullRequestは細かい改善を送り易いので、GitHubにリポジトリを移行して欲しい。 ビルドとリリースをGradleにしては、どうだろうか? .sqlファイルの存在チェックする際にみる先が.classファイルの出力先だけでは無く、ソースパスも見て欲しい。 eclipseだけでビルドしてると気にならないんだけど、ビルドスクリプト書くとリソースファイルのコピー先を.classファイルと同じにしなきゃいけなくて気持ち悪い。 このへんのコードをガチャガチャ弄れば何とかなりそうだけども… AbstractSqlFileQueryMetaFactory protected FileObject getFileObject(Str
Play1.2.5とDomaの相性が悪いという話を見つけました。 Play1.2.5ではpublic finalのプロパティもgetterが定義されるようになっている Domaが生成するコードが持つメソッドとPlayが生成するメソッドがバッティングするとのことです。 Domaで対応することにしました。具体的には、Entityクラス毎にaptによって生成されるコードをほんの少し変えます。 かなり省略していますが、次のコードを見てください。 1.23.0以前 public final class _Emp extends AbstractEntityType<Emp> { public final BasicPropertyType<Object, Emp, String, Object> name = ...; ... } 1.24.0以降(予定) public final class _E
もともとは「2Way SQLのパーサ *だけ* って無いのかな?」と思って探したら偶然見つけた。なので、本当に欲しかったのは「2Way SQLのパーサ」。案外無いので、clione-sqlとかmirage、s2jdbcのソース読んで勉強するしかないかなと思ってる。 2012-04-07 Domaも仲間に入れてあげてー。 実はDomaには2 Way SQLパーサ単独で使用された実績があったりするんです。 SQL文をiBATISのSqlMapに変換する Domaのパーサには大きく3つの特長があります。 Visitorパターンを使っているのでパース結果を柔軟に扱える。 パースの粒度が細かく、悲観的ロックやページングのSQLへの書き換えに耐えられる。 他のライブラリに依存していない。 Visitorの実装の詳細は省きますが、こんな感じで使えます。 public class Main { publi
Doma - チュートリアルをやってみたときのメモです。 Doma - ダウンロードからdoma-tutorial-1.14.0をダウンロードして試しました。 m2eclipseインストール済みのeclipseで「Existing Maven Projects」でpom.xmlをインポートしてプロジェクトを作ると を使ってpom.xmlをeclipseにインポートするとsrc/main/javaがソースディレクトリに登録されない状態になっていました。 Doma - アプリケーションのビルド方法を見ると、javacのバグ回避のためmaven-compiler-pluginでexcludesでソースを除外し、別途maven-antrun-pluginでコンパイルしているそうで、これが原因のようです。 ぐぐってみるとMaven annotation processing with maven-c
Domaでは、Daoのメソッドに期待されない引数(nullとか)が渡された場合に例外をスローしますが、そのときの例外にNullPointerExceptionやIllegalArgumentExceptionを使っていません。代わりに、DomaNullPointerExceptionやDomaIllegalArgumentExceptionといったDoma独自の例外を投げます。 これはなぜかというと、Daoのメソッドに対する事前条件を満たしていないのか、それともDoma自身にバグあって例外がスローされてしまっているのをわかりやすくするためです。 つまり、DomaNullPointerExceptionやDomaIllegalArgumentExceptionがスローされるということは、「これはDomaが意図的にスローしています。なんらかの条件を満たしていません。」というメッセージです。そし
デリゲートを使うと簡単に実現できます。 Daoの定義はこんな感じにします。deleteメソッドに@Delegateをつけるのがポイントです。 @Dao(config = AppConfig.class) public interface EmployeeDao { @Delegate(to = EmployeeDaoDelegate.class) int delete(Employee employee); @Update int update(Employee employee); } aptで生成されるDaoの実装クラスでは、deleteメソッドの実装は次のようになります。@Delegateのto要素に指定されたEmployeeDaoDelegateをnewして同名のメソッドを呼び出します。 @Override public int delete(tutorial.entity.Emp
すっかり明けてますね。 まあ、夏くらいから更新してないですが。。 ともかく、今年もよろしくお願いします。 で、Domaなんですけど、 実践投入すごくしてます。いっぱい使ってます。感謝。 今のところ、ORマッパーを使うならDomaが一番の選択肢です。 理由 印象はS2Daoのようで、 S2Daoよりサポートしている部分でかゆいところに手が届いてる感じ。 selectは外だしSQLのみにすることで実行されるSQLが分かりやすく 定義箇所がsqlテンプレートファイルのみなので管理しやすい。 SQLテンプレートはSQLコメント内に設定構文を書くので SQLをそのまま実行して試すことが出来る。 aptによるチェックで、sqlテンプレートと条件やvalueの定義に 間違いがある場合、すぐに分かる。これとっても重要。 S2Dao使ってたら実行しないと分からない事がすぐ分かる。 条件のプロパティの定義忘れ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く