タグ

Domaに関するKazuhiraのブックマーク (11)

  • ドメインクラスの話

  • とあるDoma2の使い方

    class: center, middle # とあるDoma2の使い方 Doma勉強会 in 東京 2016/07/09 --- class: left, middle ## 自己紹介 * 中村 学(Nakamura Manabu) * [@gakuzzzz](https://twitter.com/gakuzzzz) * 株式会社 Tech to Value * Japan Scala Association --- class: left, middle ## 今日の内容 うらがみさんの[Doma実践](http://backpaper0.github.io/ghosts/doma-practice.html#1)が面白かったので、<br/> 僕も普段こんな感じでDomaを使ってるよ、<br/>というのを紹介しようと思います。 --- class: center, middle #

  • Doma実践

    class: center, middle # Doma実践 --- ## アジェンダ * `Dao`をCDI管理する * `EntityListener`をCDI管理する * JAX-RSでドメインクラスをパラメーターに使う * JAX-RSとJSONとドメインクラス * ジェネリックなドメインクラス * インターフェースなドメインクラス * ドメインクラスと曖昧な状態 * Domaのカスタマイズ * Domaへコントリビュートする --- class: center, middle ## `Dao`をCDI管理する --- ### CDIで管理する対象 * `Config` ( `DataSource` , `Dialect` ) * `Dao` 以下は管理しない * エンティティ * ドメインクラス --- ### やりたいこと ```java @ApplicationScoped

  • Spring Boot DevTools + Doma2の場合のDomaConfig

    Spring Boot 1.3で追加されたDevToolsを使うと、hot deploy(アプリを起動した状態でソースの修正を反映させる)が出来るようになります DevToolsのhot deployは100%成功はしないのですが、有効にしておくと便利です ですが、Doma2を組み合わせて使う場合は設定をカスタマイズしておかないとクラスローダーの問題でハマる事になります DevToolsのhot deployのしくみ DevToolsはクラスローダーを2つ用意します 開発しているアプリケーションのclassをロードするクラスローダー 依存ライブラリ(jarファイル)のclassをロードするクラスローダー ソースが修正されたらアプリケーションのclassをロードするクラスローダーだけを破棄して作り直す事でhot deployを実現しています (依存ライブラリはアプリ起動中に変更が入らないので

  • Spring Boot + Doma2で2WaySQLを使うまで - Qiita

    背景 ここ最近、データアクセスはS2JDBC(2WaySQL)で開発をしていたということもあり、Spring Data JPAのようにクラスファイルの中に文字列として"select column1,column2 from table・・・"みたいな書き方に違和感を覚えていました。そんな時にDoma2の存在を知る機会があったので、ちょっとやってみようかなと思い試してみました。 ちなみに、今の現場ではSpring Boot + MyBatisでやっていますが、 パッと見た感じxmlでマッピング書くのがめんどくさそう xmlがjavaクラスへの依存を持ってしまっている(resultMapとか)、etc javaSQLを分離したい そもそもあまり詳しくない ってのもあり、やっぱ慣れてる2WaySQLだなーって思っています。 ※他のO/Rマッパーをもう少し理解すれば考え方は変わってくるかもしれま

    Spring Boot + Doma2で2WaySQLを使うまで - Qiita
  • 【注意事項あり】Doma 2だけどCDI/EJB使ってJTAでトランザクション管理したい!そしてJAX-RSでREST作りたい! - 行きあたりばったりエンジニアの日記

    Doma 2とは?基的な使い方は? Doma 2は、SQLを外部ファイルに書くことができるORマッパーです。ネイティブSQLが書けること、依存ライブラリが無い事、国産 OSSで日語ドキュメントが充実している事などが魅力です。 下記の記事もご参考になさってください。2014年のJavaアドベントカレンダー向けに書いたものです。 美しき青きDoma!~SQLとIDEが奏でる美しきORマッピング~ - Java EE 事始め! Domaでは、プログラマが作るのはHogeDaoインターフェイスだけで、その実装クラスHogeDaoImplはGradleでビルド時にAnnotation Processorで自動生成されます。 CDI/EJB使ってHogeDao型のフィールドにHogeDaoImplのインスタンスをインジェクションしたり、JTAでトランザクション管理するには、実装クラス側(HogeD

    【注意事項あり】Doma 2だけどCDI/EJB使ってJTAでトランザクション管理したい!そしてJAX-RSでREST作りたい! - 行きあたりばったりエンジニアの日記
  • SpringBootとDomaを連携する - ソフラボの技術ブログ

    SpringBootとDomaの連携をGitHubにあるサンプルを参考に作ってみました。 ビルドはGradleを使っています。 環境 Java 1.7 Gradle 2.0 SpringBoot 1.1.5.RELEASE Doma 1.37.0 ディレクトリ構成 SpringBoot標準の構成を使用します。 src/main/java demo ConfigAutowireable.java DataSourceConfiguration.java demo.dao TestDao.java src/main/resources application.properties build.gradle 作成・編集するファイル build.gradle DBライブラリの依存関係を追加します。 JDBCドライバーはローカルまたはMavenリポジトリから取得し、ビルド後のjarファイルに含めるよ

    SpringBootとDomaを連携する - ソフラボの技術ブログ
  • SpringBoot+Doma2+Gradleを試してみた。 - Qiita

    題材は「はじめてのSpring Boot」にある顧客管理システム。 最近よく聞くDomaを試してみたかったのもあり、 JPAじゃなくDoma2、MavenじゃなくGradleで挑戦しました。 ちなみにまだRestAPIができただけです^^; このエントリでは「はじめてのSpring Boot」に載ってるところは説明省略します。 すごいわかりやすかったので買って読む価値はあると思いますよ。 環境 今回ためした環境は以下のとおりです。 Java8 SpringBoot1.1.9 Doma2.0.1 H2 Gradle2.2.1 構成 ソースはこちら。 https://github.com/nyasba/domaboot.git 一部省略してますが、こんなかんじです。 $ tree . ├── build.gradle └── src └── main ├── java │   └── com

    SpringBoot+Doma2+Gradleを試してみた。 - Qiita
  • Doma SQLテンプレートのしくみ

    より詳細なCQRSに関する資料はこちら https://little-hands.hatenablog.com/entry/2019/12/02/cqrs 参考資料:http://little-hands.hatenablog.com/entry/jjug2017fall 社内新規プロダクトでDDD, CQRSの思想をベースとしたアーキテクチャを構築し、コマンド(更新系処理)ではSpring Data JPA(Hibernate)を、クエリ(参照系処理)ではjOOQを採用しました。 結果としてそれぞれのORMの良いところを生かした組み合わせのアーキテクチャが構築できたので、その経緯と得られた知見についてお話ししたいと思います。 以下のようなトピックを考えています。 ・CQRSの定義とメリットデメリット ・DDD,CQRSを検討するにあたってのORMの選定ポイント ・構築したアーキテクチャ

    Doma SQLテンプレートのしくみ
  • JavaのORM、Domaの話 +α — JavaのORM、Domaの話 1.0 documentation

    @backpaper0 2014-06-14 #uragamiorm @backpaper0とは うらがみです。 エスアイヤーでジャバ使ってウェッブやってます。 アンヨヨイヨも少しやってます。仕事で。 Doma歴4年ぐらい。 +αの話から みなさんORM使っていますか? backpaper0が知ってるORM JPA (EclipseLink, Hibernate) S2JDBC S2Dao ActiveObjects Iciql (JaQu) MyBatis (旧iBatis) Mirage Doma JPA Java EEに含まれるORMフレームワーク。 オブジェクトとリレーションの柔軟なマッピング。 JPQLでSQLの方言を吸収。 生SQLも書ける。 Criteria API + Metamodel API = 型安全なクエリ。 ただしコード地獄になりがち。 ていうかなる。 クエ

  • Doma 2 - Java 8 時代のDBアクセス

    自己紹介 中村 twitter: @nakamura_to GitHub: nakamura-to Java 8の新機能 ラムダ式 Stream API Date and Time API Optional デフォルトメソッド これ全部 Doma 2 で使えます! Doma とは? S2Daoから発展したDBアクセスライブラリ 2 way SQL 注釈処理 依存ライブラリ 0 Doma 1 は Java 6 以上で動作 Doma 2 はDoma 1 を Java 8 に最適化 ラムダ式 TransactionManager tm = ... tm.required(() -> { Emp emp = dao.selectById(1); emp.setAge(emp.getAge() + 1); dao.update(emp); }); Stream API @Dao public int

  • 1