I noticed some weird behavior when I added an EntityGraph to my findAll repository method:
When I use an EntityGraph, that specifies an attribute node on a field that uses a @OneToMany relationship, the entire collection will be loaded from the database (however, the Page object only contains my 25 limit objects).
No limit is added to the SQL statement
The number of rows loaded ~= playlists + items (which I believe should be ~= 25 + items)
The same thing does not happen if I add a @OneToOne or @ManyToOne field to my attribute nodes.
The limit (25) is then added as expected to the SQL statement
That's completely normal behavior - JPA provider will fetch whole set of data and then paginate it in memory when @OneToMany children records are fetched within single query. To overcome this problem use native query or fetch children records after fetching page of data.