[Java][Framework] Spring BootのJPAでDB接続した際のEntityキャッシュのクリア方法

公開日: : Framework, Java , , , , , , ,

[概要]

Spring BootのJPAでDBアクセスした際に、処理を一定量こなすと、Heapが足りなくなってOutOfMemoryでコケる件でハマったので、解決法をメモ。

とはいっても単純でEntityManagerを持ってきて、クリアするだけ。

Hibernate初心者のわたくしにとっては、非常に難関でございました。

具体的には、以下のエラーがでたらの対象法になります。

[エラー内容]

java heap error

[対応]

EntityManagerを取得して、キャッシュをクリアするだけです。
最初は、どこかにメソッドインターフェースがあって、XXXX.getEntityManager()的なもので取得するのかなーと思っていましたが(古い)
案の定そんなものはなく、アノテーションを指定して、DIで取得する文化でした。

public class XxxxxLogic(){

	// EntityManagerをDI
	@PersistenceContext
	EntityManager entityManager;

	public void xxxxEntityCacheClear(){
		// cacheクリア
		entityManager.clear();
	}

・・・・・
}

これだけです。簡単ですねー。
Entityを指定してクリアする方法もネットサーフィン(死語)してたらありましたが、1次キャッシュと2次キャッシュがあるらしく、参照が残ってしまっていて、うまくGC対象にならずOutOfMemoryが直らなかったので、まだわかってません。

わかったら追記しまっす。

スポンサードリンク

関連記事

no image

[Java][基本] ループ処理(for文)

Javaのループ処理の基本である、for文を解説します。 ●文法 for( [①初期化];

記事を読む

no image

[Java][基本] mainメソッドの書き方

こんにちはkeiです。 Javaの基本として、意外と知らないmain関数について解説します。

記事を読む

no image

[Java][Servlet] EclipseでのJavaServlet作成

こんにちは、今回はEclipseを使用してJavaServletを作成します。 Eclipse

記事を読む

no image

[Java][Framework] Spring Bootを使って、Spring MVC速攻開発してみる!(DB接続あり)

STSインストール STSは、EclipseにSpring関連のいろいろな機能を詰め込んだオールイ

記事を読む

no image

[Java][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成

こんにちは、keiです。 今回は、Mavenが利用可能な動的Webプロジェクトの作成について解

記事を読む

no image

[Java] クラスとインスタンス

こんにちは。 クラスとインスタンスについて解説します。 インスタンスは「オブジェクト」とも言

記事を読む

no image

[Java] Javaのインストール(プログラム開発・入門用)

Javaのコードを書きたい!! という目的のためのJavaのインストール方法と、コマンドラインでの

記事を読む

no image

[Java][Servlet][JSP] ServletからJSPへの転送

こんにちは。 今回は、「Servletでリクエストを受けて、JSPで表示する。」方法を解説しま

記事を読む

no image

[Java][Spring] Spring3でDIしてみる!(アノテーション使用)

Spring3を使って、一番基本的な形のプログラムを作成してみます。 今回は、アノテーションを

記事を読む

no image

[Java] CSVファイルの読み込み方法

こんにちは、kei0310です。 CSVファイルをJavaに取り込む方法を解説します。

記事を読む

スポンサードリンク

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

スポンサードリンク

no image
CentOSにdockerをインストールしてみた

前置き dockerをcentos7にインストールしてみました

no image
awkでのgsubを使った文字列置換(正規表現)

まえおき bashなどのシェルスクリプトで、lsした結果とかを

no image
bashで並列処理する方法(xargs)

並列処理とは 通常、意識せずにプログラムを書くと、大体の場合は

no image
AWS Redshiftの使用ストレージ容量をクエリで調べる方法

用途 AWS Redshfitのコンソールを見れば、使用中のス

no image
pythonでstorage transfer serviceを使ってみた。

準備 pythonのインストールとかする。 このあたり。

→もっと見る

  • 2025年4月
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
  • 2025年4月
     123456
    78910111213
    14151617181920
    21222324252627
    282930  
PAGE TOP ↑