環境構築 JPA の基本的な話 JPQL の話 Criteria API の話 コード マッピング方法だけを確認しやすいようにした一覧を作成しました。 JPA マッピングカタログ - Qiita はじめに オブジェクト指向で考えられたドメインモデルと、正規化などを考慮して考えられたリレーショナルデータベースのテーブルでは、データの持たせ方に違いが生まれる。 この違いをインピーダンスミスマッチと言う。 インピーダンスミスマッチを解決するには、データベースから取得したレコードをオブジェクトにマッピングする処理が必要になる(さらに、永続化するときは逆変換が必要)。 オブジェクトとテーブルの構造が1対1で対応していれば、この変換はそこまで大変ではない。 しかし、そうでない場合、変換を自力で実装するのは非常に骨が折れる。 O/R マッパーはこの変換を自動でやってくれるフレームワークで、 JPA では
2018年現在でもJava開発をしていると、Antすら使っていないEclipseプロジェクトにそこそこの頻度で出くわします。Eclipseの自動コンパイルが通ればOKであり、ビルドはExcel手順書をもとに手動で行われ、依存関係ライブラリはもちろんlibフォルダに各種jarファイルが放り込んであります。Eclipse上以外ではどう動かせば分かる人がいないため、コマンドラインからビルドなどを行うことは叶わず、CI化なんて夢のまた夢です。 そんなJava開発から脱却したい人向けのJava開発のモダン化ガイドです。 基本的にJava 8以降での開発を想定しています。 OpenJDK/OracleJDK上での開発を想定しています。 Android開発の場合は一部適用できない可能性あり。 英語のIDE、ツール等は積極的に使用します。 英語嫌いだとモダン化は難しい。 Java開発全般を前提としているた
はじめに 例外処理の問題は Java コードレビューでの頻出指摘事項である。この記事で述べる通り、Java の例外処理において守るべき基本的なルールはそれほど複雑ではない。だが、たとえ職務経歴上は経験年数の長い Java プログラマであっても、適切な例外処理を実装できないケースは残念ながらよく観測される。さらに経験年数が短い Java プログラマにおいては言わずもがなである。 なぜ不適切な例外処理が広くはびこっているのか。そこには大きく分けて三つの要因が考えられる。まず、Java 言語仕様において例外機構 (特に検査例外) に歴史的事情による混乱があり、プログラマに過度の自由が与えられていることである。次に、アプリケーションを開発するだけでなく実際に運用してみない限り、不適切な例外処理の弊害に気づけないことである。最後に、適切な例外処理を学ぶためのコンパクトにまとまった資料が世に存在しない
これまで使っていて体験したアンチパターン(だと勝手に思っている事例)集。 JPAと読み替えてよいものも含まれます。 spring-data-jpa / JPA の知見少ないので指摘歓迎。 join fetch地獄 例 @Repository public interface ArticleRepository extends JpaRepository<Article, Long> { // 詳細表示用 // 記事配下のコメントまで取得する @Query("select a from Article a " + "join fetch a.comments " + "where a.id = ?1") Article findById(Long id); // 管理者向けの詳細表示用 // 通常の詳細表示に加えて記事の作成者、コメントの作成者まで取得する @Query("select a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く