5

私はJPAを初めて使用し、結果セットからデータをストリーミングできるかどうかを知りたいのですが、たとえば、最初の結果の処理を開始するためにクエリが実行されるのを待ちたくないということです。バッチの。

JPA APIまたはコミュニティが採用した回避策を使用する可能性はありますか?最終的にJPA実装の機能を使用しますか?

4

4 に答える 4

1

@ javax.persistence.PostLoadアノテーションの実行可能なオプションを使用していますか?このようにして、特定のオブジェクトがデータストアから作成された瞬間にアクションをフックすることができます。これがまさにあなたが探しているものであるかどうかはわかりません。

于 2010-02-23T20:54:07.400 に答える
1

明らかな理由により、結果セットで何かを実行する前に、「マスター」選択を終了する必要があります。ここで何を達成しようとしているのかわかりません...おそらく、最初の結果をより速く取得し、処理中に詳細を取得するために、いくつかのフィールドを遅延させる必要がありますか?

于 2010-02-23T20:55:57.350 に答える
1

JPAで実際のストリームを使用できます。

public interface UserRepository extends JpaRepository<User, Integer> {
    // ...
    Stream<User> findAllByName(String name);
    // ...
}

この素敵な記事でより多くの例を見つけることができます。

于 2019-03-01T10:06:55.170 に答える
0

現在、データをストリーミングするメソッドがありますが、デフォルトの実装はストリームにラップするだけjavax.persistence.TypedQueryです(したがって、とにかくすべてのデータをメモリにロードします)。ただし、Hibernateはこの動作を実際のストリーミングでオーバーライドします。getResultStream()getResultList()

于 2020-08-11T11:43:51.970 に答える