全般
Java EE 8がそろそろ固まってきたのでJPA 2.2のJavaDocを日本語に翻訳し始めた(2/3完了) - 水まんじゅう2
JavaEE使い方メモ(JPA その1 - 基本) - Qiita
Red Hat JBoss Web Server 1.0 Hibernate Entity Manager リファレンスガイド - Red Hat Customer Portal *1
JavaEE Code探索 その3 〜 トランザクション属性 〜 - A Memorandum
JPA2.1でエンティティからインデックスを自動生成する - 水まんじゅう2
spring-data-jpa アンチパターン - Qiita
はじめてのJPAでちょっと怖い勘違い - ビールとプリンとプログラミング。
JavaEE7をはじめよう(9) - JPA TIPS - エンタープライズギークス (Enterprise Geeks)
EntityManager
JavaEE7をはじめよう(14) - Producerの効果的な利用方法 - エンタープライズギークス (Enterprise Geeks)
複数のEntityManagerを切り替える(on CDI) - edgegram
JAX-RS(Jersey)とJPAのサンプルにCDIを使ってTomcatで動かす - Qiita
JPAとJTAをJavaSE環境で使えるようにする: すふぃあの記憶
@RequestScoped
にする。
トランザクション
Jerseyでリソースメソッドをトランザクション境界にする — 裏紙
大量処理
JPAで少しずつデータを処理する方法を考える - 見習いプログラミング日記
メモリを逼迫させずにJPAで大量データを取得する方法 - エンタープライズギークス (Enterprise Geeks)
Native Query
JavaEE7をはじめよう(5) - JPAクエリ(その2) Native Query - エンタープライズギークス (Enterprise Geeks)
Builderパターン
トランザクション
[Spring] 宣言的トランザクションがネストした時はどうする!? REQUIRES_NEWを使ってみた | DevelopersIO
作りたい共通部品
- Listインターフェースを良い感じにパラメータとして設定できるようにする
(とりあえず、数値と文字列だけ) - Listが空の場合は
null
(in()
にならないようにする)*2 - SQLの参照はパッケージをフォルダにする*3
- JPABuilderをEntityの情報からAnnotationProcessorで自動生成
- JPAの型情報からフィールド毎のBeanValidationをAnnotationProcessorで自動生成
全体でフィールド名が重複している場合はエンティティ名を接頭文字につける。
同じドメインにしたい場合は、アノテーションにドメイン名を指定。重複している場合は「マージ」
必須(NotNull)は対象外(集約であるEntityにとって必須という扱いと考えるから) - Eneityクラスからテーブル定義的(とりあえずhtml)なものをAnnotiontionProcessorで自動生成。
(重複しているドメインがある場合、備考にその旨を追記すると後々ありがたい機能になる気がする。)
note
- SQLファイル読み込みの仕組みは
orm.xml
があるけど使わない(リンクはメモ)。