Add support for Repository query projections [DATAGEODE-262] #310
Labels
in: api
Issues with API
in: repository
Repositories abstraction
type: enhancement
A general enhancement
John Blum opened DATAGEODE-262 and commented
This improvement will track the development of
Repository
query method projections.Typically, SD [Geode]
Repositories
are tied to a single application domain object type. However, query methods, whether by convention or annotated with@Query
, can return a custom type containing a subset of the properties from the actual domain object itself (the "projection").For example, I may have defined a
Customer
like so...Any one of the composed types (e.g.
Customer
) can be arbitrarily complex. Currently, the corresponding [CRUD]Repository
might look like the following containing a query to find all Contacts in a particular city/state.Depending on the application view, the user may only want a subset of the data returned from the query to project into the view. In other words, rather than returning the entire
Contact
, the user may want to only find allCustomers
by first and last name with phone number in a given city/state.For example...
<code:java}
interface ContactRepository extends CrudRepository<Customer, Long> {
List<CustomerView> findByAddressCityAndAddressState(State state, String city);
}
Repository
query projection support effectively allows the user to redefine their query method with the data of interests.Reference URL: https://jira.spring.io/browse/SGF-523
The text was updated successfully, but these errors were encountered: