I have a class that extends
org.hibernate.internal.CriteriaImpl but as far as I can see the API of that class does not provide an
stream() method, like the one provided by
Why is this class not providing such method? Is there any chance of using streams with criteria?
Thank you in advance.
CriteriaImpl is an internal class so you shouldn’t extend it.
Considering the criteria API is deprecated in favor of the JPA criteria, I don’t see us making changes in it.
Note that I wouldn’t recommend to use the JPA criteria API directly as it’s barely usable but things like QueryDSL helps a lot.
If you use Criteria API, you can use the
stream method either via JPA 2.2
getStreamResult() or if you unwrap the JPA
Query to an
org.hibernate.query.Query and call
However, just because you can, doesn’t mean you should. Most often, pagination is a much better alternative to streaming.
ok, understood. Thank you very much @gsmet and @vlad for the information.