I have a native query which returns a List<Object[]>
.
I want to convert this List
to a Stream<Object>
.
These Objects are different columns from different tables of my database.
What is the best solution to do that?
Create a DTO and convert a List<DTO>
to Stream<DTO>
? How can I do that?
Assuming your DTO
class has a proper constructor, you can write something like this:
List<Object[]> input = ...
Stream<DTO> dtos = input.stream().map(arr -> new DTO(arr[0], arr[1], ... , arr[n]);
Use flatMap
:
List<Object[]> objectsList = new ArrayList<>();
Stream<Object> objectStream = objectsList.stream()
.flatMap(Arrays::stream);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With