乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)NTT DATA Technology & Innovation
今回から3回に分けて、JPAでエンティティを検索する手段であるクエリを解説する。 JPA では javax.persistence.Query というオブジェクトで、問い合わせの内容を表す。 このQueryを作成する方法は以下の3種類がある。 JPQL (Java Persistence Query Language) Native Query Criteria API いずれの場合もEntityManagerにあるそれぞれのクエリを作成するメソッドを呼び出してQueryを生成する。 以降、それぞれの定義方法や特徴を記述するが、今回の記事ではJPQLについて解説し、Native QueryとCriteria APIに関しては次回以降で解説する。 JPQLとは JPQL(Java Persistence Query Language)は、JPAが標準化したもので、SQLに似た問い合わせ言語で
前エントリで、NativeQuery・JPQL・CriteriaAPIのどれが一番速いのかパフォーマンス比較を行い、NativeQuery悪くないじゃん、と結論づけました。そして、JavaEE AdventCalendar 2013を取りまとめて頂いた@megascusさんや、このネタを書く発端となった@yoshioteradaさんを始めとする多くの方々にコメントを頂きました。ありがとうございました。 その中で、JPQLをNamedQueryで宣言しておくと、起動時にプリコンパイルされるのでパフォーマンスが向上する、との情報を頂いたので、再実験してみました。 今回使用したソースはこちら 前回との差分を簡単に振り返っておくと、まず、JPQL文をfindProductという名前をつけて、EntityクラスにNamedQueryとして宣言しました。 @Entity @Table(name="pr
このエントリはJavaEE Advent Calendar 2012の20日目です。昨日は@den2snさんのJavaを知らない世代が今からはじめるJavaEE開発でした。明日は@javaflavorさんです。 先月、岡山を訪れた時、Javaエバンジェリストである寺田さん(@yoshioterada)に「今仕事でやってるプロジェクトにJPAを導入したんですが、JPQLになじめなくって、素のSQLをNative Queryで投げてるんです。」という話をしたら、「Native Queryはパフォーマンス的に良くなかったはず…」との情報を頂きました。それが本当なら、今のプロジェクトが危ない!正確に言うと、今のプロジェクトにJPAを持ち込んだ自分の身が危ない! ということで今回は、JPAに用意されている、Native Query、JPQL、criteria API 、それぞれのAPIのパフォーマン
2015-07-11 「はまる!JPA」のN+1問題をEntity Graphで解決する Java EE 7 JPA JPAにおけるN+1問題とは? 元ネタは、こちらの@makingさんの資料(2013年のGlassFish勉強会にて)です。 はまる!!JPA #glassfish_jp #javaee from Toshiaki Maki www.slideshare.net N+1問題とは、エンティティに1対多のリレーションがあるときに、多数のSQLが発行されてパフォーマンスが落ちるという問題です。 上記の槙さんの資料では、JPQLのJOIN FETCH文+setHint()メソッドを利用してこの問題を解決し、1回のSQLで全てのデータを取得できるようにしています。 今回の記事では、JPA 2.1(Java EE 7)の新機能であるEntity Graphを使って、N+1問題の解
Java EEアプリケーションにおけるデータベース操作を、よりシンプルで簡単にするためのデータ永続化機能が「JPA(Java Persistence API)」だ。同APIのキホンを、書籍「わかりやすいJava」シリーズでおなじみの川場隆氏が解説する。 Java EE 6や同7など最新のJava EEを使用したアプリケーション開発に初めて取り組む方にとって課題の1つとなるのは、Java EE特有のデータ永続化機構である「JPA(Java Persistence API)」の習得であろう。入門者向けのJava解説書として定評のある「わかりやすいJava」シリーズで知られる川場隆氏(活水女子大学 教授)の解説により、JPAの基本を学んでいただきたい。 ※本記事は、日本オラクルが2015年4月に開催した「Java Day Tokyo 2015」における川場隆氏のセッション「やさしく理解するはじめ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く