タグ

ブックマーク / qiita.com/zateon (2)

  • JPAでEntityを親クラスと子クラスに分ける方法 - Qiita

    システムによって全テーブルに共通したカラムが存在することがあると思います。 (楽観ロック用のバージョニングカラムや登録日、更新日、登録者名、更新者名など) JPAのEntityクラスを作成するときに全Entityに同じ変数を作るのはイヤだったので、上位クラスを作ってまとめられないかな、と思って調べてみたらその方法がありました。 上位クラスに@Entityではなく@MappedSuperclassアノテーションをつけるだけです。 これだけで、上位クラスを継承したEntityクラスで共通カラムを使用することができました。 package jp.co.test.entity; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.M

    JPAでEntityを親クラスと子クラスに分ける方法 - Qiita
  • ロングトランザクションにおける楽観ロック(Spring+JPA) - Qiita

    JPAに楽観ロックがサポートされているのでそれを使おうとしたけれど、ロングトランザクションの場合、どうやるのか不明でここ3日ほど悩みました。 ※ロングトランザクションという言葉もこの調査で初めて知りましたw やりたかったのは以下のようなこと。 ①ID入力→検索ボタン押下→DBからデータ取得→画面にデータ表示 ②画面入力でデータを書き換える ③更新ボタン押下→DBのデータ更新 この①~③の処理をひとつのトランザクションでやるようなイメージで①~③の間に他の誰かがデータ更新していたら異常としたい。 というわけで、今回はロングトランザクション(複数リクエスト)時の楽観ロック方法 まずは楽観ロックするためのバージョニング用カラムを追加してEntityにも対応するプロパティと@Versionアノテーションを設定 package jp.test.spring.entity; import java.i

    ロングトランザクションにおける楽観ロック(Spring+JPA) - Qiita
  • 1