戻ってくるレコードのアクセスも、戻り値にて指定する。複数のレコードを取得する場合は、List か Stream を使う。
Stream は、関数の戻り値が stream なので、逐一、一つずつ処理出来るので、処理効率やメモリ効率では、List よりも良い。しかし、stream は一つずつレコードを処理する為、@Transactional 等を使ってしっかりとトランスアクションを管理する必要があり、若干手間がかかる。List だと、一気に全てのレコードを入手するので、@Transactional は必要ない。、List でも stream()
関数を使って stream 処理が出来るので、リソース管理が主な違い。
Spring Data repository: list vs stream 等でも紹介されている。
セコメントをする