はじめに SpringBootでDOMA2使ってみようと思い環境構築してたら、意外と躓いたので、手順を記述しておきます。 SpringBoot2 DOMA2 H2 Eclipse4.7 設定 プロジェクト作成 Eclipse開いて パッケージ・エクスプローラーで右クリック 新規 プロジェクト Springスターター・プロジェクト 名前に「sample」と入力 ※任意 グループに「jp.co.sample」と入力 ※任意 パッケージに「jp.co.sample」と入力 ※任意 「次へ」を押下 「web」にチェック 「次へ」を押下 「完了」を押下 ※ここまで終了したらプロジェクトが動くか確認しておいたほうがいいかもしれません。 POM.xmlに依存関係記述 DOMAの依存関係 <dependency> <groupId>org.seasar.doma.boot</groupId> <artif
MariaDB Enterprise Server: Enhanced, hardened and secured for mission-critical applications MariaDB Enterprise Server is a hardened version of MariaDB Community Server built for production deployments. It undergoes extensive QA, is configured for production by default and includes enterprise features to improve operating efficiency at scale and support the most secure environments. MariaDB Enterpr
ただ、これだけではバインドされた変数の値は分かりません。こちらは conf/application.conf と log4j.properties に Hibernate のオプションを指定することで出力することができます。 # You can even specify additional hibernate properties here: # hibernate.use_sql_comments=true # ... hibernate.show_sql=true hibernate.format_sql=true hibernate.use_sql_comments=true log4j.logger.org.hibernate=INFO, hb log4j.logger.org.hibernate.SQL=DEBUG log4j.logger.org.hibernate.type
JPAに楽観ロックがサポートされているのでそれを使おうとしたけれど、ロングトランザクションの場合、どうやるのか不明でここ3日ほど悩みました。 ※ロングトランザクションという言葉もこの調査で初めて知りましたw やりたかったのは以下のようなこと。 ①ID入力→検索ボタン押下→DBからデータ取得→画面にデータ表示 ②画面入力でデータを書き換える ③更新ボタン押下→DBのデータ更新 この①~③の処理をひとつのトランザクションでやるようなイメージで①~③の間に他の誰かがデータ更新していたら異常としたい。 というわけで、今回はロングトランザクション(複数リクエスト)時の楽観ロック方法 まずは楽観ロックするためのバージョニング用カラムを追加してEntityにも対応するプロパティと@Versionアノテーションを設定 package jp.test.spring.entity; import java.i
少し前に検証したものだが、改めて整理。 テーブルAとテーブルBを結合した結果を取得したい場合に、普通にSpring DataのRepositoryを作って@Query のメソッドを定義してもうまくいかない。 例えば以下のようなクエリは表現できない。
テーブル構成 CDとアーティストが多対多で紐づているとします。 ER図で下記のようになっているとします。 ソース CDのエンティティ @Entity @Table(name = "cd") public class Cd implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id") @Getter @Setter private Integer id; @Getter @Setter @Column(name = "title") private String title; @Getter @Sette
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く