検索
ホームページJava&#&チュートリアル## Spring Data JPA @Query の更新がエンティティに反映されないのはなぜですか?

## Why is My Spring Data JPA @Query Update Not Reflecting in the Entity?

Spring Data JPA @Query を使用して更新されない

Spring Data JPA では、提供された更新クエリがエンティティの更新に失敗し、テスト失敗。

パラメータ化された値を使用するためにクエリに必要な変更を実装したにもかかわらず、更新されたフィールドは影響を受けず、初期値が保持されます。検索操作の直前にフラッシュ操作を追加しても問題は解決しません。

生成された SQL ステートメントを調べると、更新クエリは正しく実行されていますが、変更されたエンティティを取得するクエリは正しく実行されていないことがわかります。無視されました。これは、潜在的なキャッシュの問題を示唆しています。

ただし、他のファインダーへの呼び出しを追加すると、更新された値が取得されたオブジェクトに反映されます。この動作は一貫性がなく、予期せぬものです。

さらに、変更されたエンティティを取得する SQL ステートメントには制限 2 句が含まれていますが、Spring Data は単一のオブジェクトを返すときに常に制限 1 句を使用する必要があると想定されています。

興味深いことに、生成された SQL ステートメントを MySQL クライアントで手動で実行すると、ロジックは問題なく機能し、なぜこの動作が Java レベルで一貫して反映されないのかという疑問が生じます。

この問題の根本原因これは、変更を自動的にフラッシュしない EntityManager のデフォルトの動作にあります。これを解決するには、 @Modifying アノテーションで clearAutomatically オプションを有効にして、更新クエリの直後に変更がフラッシュされるようにする必要があります。

以上が## Spring Data JPA @Query の更新がエンティティに反映されないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。