Spring Data JPA でクエリーを実装する方法をざっくりまとめてみた。 JPAのクエリー実装方法 先ずはJPAのクエリー実装方法を見てみる。 JPAでは EntityManage を使用してクエリーを構築/実行するが、主な実装方法は以下の通り。 ネイティブSQL JPQL CriteriaAPI 名前付きクエリー JPAプロバイダの機能を直接使用する ネイティブSQL EntityManager#createNativeQuery(String)を使用する。 List<User> results = entityManager .createNativeQuery("select * from user where name = :name", User.class) .setParameter("name", "きい太") .getResultList();
環境構築 JPA の基本的な話 JPQL の話 Criteria API の話 コード マッピング方法だけを確認しやすいようにした一覧を作成しました。 JPA マッピングカタログ - Qiita はじめに オブジェクト指向で考えられたドメインモデルと、正規化などを考慮して考えられたリレーショナルデータベースのテーブルでは、データの持たせ方に違いが生まれる。 この違いをインピーダンスミスマッチと言う。 インピーダンスミスマッチを解決するには、データベースから取得したレコードをオブジェクトにマッピングする処理が必要になる(さらに、永続化するときは逆変換が必要)。 オブジェクトとテーブルの構造が1対1で対応していれば、この変換はそこまで大変ではない。 しかし、そうでない場合、変換を自力で実装するのは非常に骨が折れる。 O/R マッパーはこの変換を自動でやってくれるフレームワークで、 JPA では
Elasticsearch実運用時に個人的に気をつけている点をまとめました。 自分でも整理できていない部分がありますので、間違っている点・追加した方が良い点などありましたら教えていただけると非常に助かります。 目次 目次 インデックス・スキーマ設定 スキーマを事前に定義しておく _allの使用は必要な時のみ行う 部分一致検索をしないstringフィールドにはnot_analyzedをつける doc_value:trueをつける できるだけエイリアスを使う 必要に応じてルーティングを行う 本体の設定 ヒープメモリを適切に設定する スワップしないように設定 スプリットブレイン対策を行う field data cacheに上限を与える 検索高速化 Warmerを登録する queryとfilterを使い分ける filterのキャッシュ設定を使い分ける 必要無いフィールドは検索の際に取得しない イン
今日はクエリ周りについて学んだ。 Query contextとFilter context Query and filter context | Elasticsearch Guide [8.0] | Elastic ElasticSearchのクエリにはQuery contextとFilter contextというのがある。簡単にいえばQuery contextで解釈されたクエリはスコアに影響を及ぼし、Filter contextで解釈されたクエリはスコアに影響を及ばさない。 これらのcontextはBool Queryで概念として出てくる。こちらのドキュメントの例を見てみると、boolクエリのmustやshouldはQuery contextで解釈され、filterはFilter contextで解釈されるように見える。つまりmustやshouldに指定したクエリはスコアに関係し、fi
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く