Hi,
So here's the example from the page..
@Repository
public interface PersonRepository extends EntityRepository<Person, Long>
{
@Query("select p from Person p where p.age between ?1 and ?2")
QueryResult<Person> findAllByAge(int minAge, int maxAge);
}
We're not using a predicate per-se, but its using an inlined query.
Unfortunately, any method defined in EntityRepository uses a default
handler that's not overridable (I found it hard to add Optional/Stream
support). I would do something like the documentation
@Repository
public interface PersonRepository extends EntityRepository<Person, Long>
{
@Query("select p from Person p")
QueryResult<Person> findAllPersons();
}
Unless you're using the persistence operations as well, it may just be
easier to not have the base interface.
John
On Wed, Mar 15, 2017 at 7:12 AM Matti Tahvonen <[email protected]> wrote:
> Hi,
>
> My colleague is preparing an example for Vaadin 8 that uses DeltaSpike
> Data (as per my suggestion). We had a hard time finding a solution where
> you could return QueryResult form a JPA Repository, without having any
> predicates. We want to use QueryResult as it is easy to do sorting and
> paging using it, but just want to get all results from the database. In
> other words we’d need an alternative to findAll that returns QueryResult.
>
> The workaround was to add a dummy predicate, but that’s not too pretty:
>
> https://github.com/alejandro-du/lazy-loading-cdi-demo/blob/master/src/main/java/com/example/PersonService.java#L23
>
> QueryResult findBy() or QueryResult findAllBy() don’t seem to work. Any
> ideas how this should be tackled?
>
> __
> Matti Tahvonen – +358 44 3029728 <+358%2044%203029728> – Vaadin Ltd -
> vaadin.com
>
>
>
>
>