Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring JPA PageRequest ordering by a join column

Tags:

People also ask

In which order the results are sorted for JPQL query?

You can define the order in which the database shall return your query results with an ORDER BY clause. Its definition in JPQL is similar to SQL. You can provide one or more entity attributes to the ORDER BY clause and specify an ascending (ASC) or a descending (DESC) order.

Which is better CrudRepository or JpaRepository?

Crud Repository doesn't provide methods for implementing pagination and sorting. JpaRepository ties your repositories to the JPA persistence technology so it should be avoided. We should use CrudRepository or PagingAndSortingRepository depending on whether you need sorting and paging or not.

Can we use group by in JPA query?

The GROUP BY clause is used to collect data from one or more tables and arrange them in a group. In Criteria API, the groupBy() method of AbstractQuery interface is used to filter the records and group them.

How does JPA pagination works internally?

Pagination is a simple but important feature to limit the size of your result set to a number of records that can get efficiently processed by your application and the user. You can configure it with JPA and Hibernate by calling the setFirstResult and setMaxResults on the Query or TypedQuery interface.


I'm using the Spring PageRequest to sort (order) a custom query by a column in my database.

If I'm doing a custom query such as :

 @Query( value = "select h from hunterhouse h join h.queens q where q.name = 'Computer Science'") 

Is it not possible to sort by a column in q, the table I am joining to?

PageRequest request = new PageRequest(page, size, Sort.Direction.DESC, "q.region");

debug comes out as "order by h.q.region" which is incorrect, is it not possible to order by a join column?