Java8+JPAでSQL結果をStreamで返す方法

Java8+JPAでSQL結果をStreamで返す方法

Java8+JPAを使用してStreamを返すことが出来るようになりました。

try with resourceでcloseする必要があります。この方法がメモリ節約できるようです。

リストを返すメソッドやPageableでページングするよりもストリームを返す方がメモリ消費量、DB問い合わせ回数を減らすことが出来るようなので、処理も高速です。

You’re trying to execute a streaming query method without a surrounding transaction that keeps the connection open so that the Stream can actually be consumed. Make sure the code consuming the stream uses @Transactional or any other way of declaring a (read-only) transaction.

@Transactionalメソッド内でのみ使えます。

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

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

CAPTCHA