Package org.fryske_akademy.services
Interface CrudReadService
- All Known Subinterfaces:
Auditing
- All Known Implementing Classes:
AbstractCrudService,AbstractCrudServiceEnvers
public interface CrudReadService
Generic interface for read operations on entities, the dynamic methods offer powerfull support for building queries
including a bit of syntax in user input.
- Author:
- eduard
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionintCall this using the same parameters as infind(java.lang.String, java.util.List, java.lang.Integer, java.lang.Integer, java.lang.Class)to get to know the total number of resultsintcountDynamic(List<Param> params, Class type) Call this using the same parameters as in findDynamic to get to know the total number of results<T> Tfind(Serializable id, Class<T> type) <T> List<T><T> List<T><T> List<T>findDynamic(Integer first, Integer max, Map<String, CrudReadService.SORTORDER> sort, List<Param> params, Class<T> type) <T> TfindExactlyOne(String namedQuery, List<Param> params, Class<T> type) return one result, no or multiple results throws an exception<T> List<T>query using your own jpqlfindNative(String sql) query using your own sql<T> List<T>findNative(String sql, Class<T> clazz) query using your own sql and a wrapper entity class<T> List<T><T> Treturn one result or null, multiple results throws an exceptionintReturn a default page size when no max is given, negative value means no limit<T> Stream<T><T> Stream<T><T> Stream<T>streamDynamic(Integer first, Integer max, Map<String, CrudReadService.SORTORDER> sort, List<Param> params, Class<T> type) <T> Stream<T>streamNative(String namedNativeQuery, List<Param> params, Integer first, Integer max, Class<T> type)
-
Method Details
-
getDefaultPageSize
int getDefaultPageSize()Return a default page size when no max is given, negative value means no limit- Returns:
-
find
-
findAll
-
streamAll
-
findDynamic
<T> List<T> findDynamic(Integer first, Integer max, Map<String, CrudReadService.SORTORDER> sort, List<Param> params, Class<T> type) - Type Parameters:
T-- Parameters:
first- defaults to 0max- defaults togetDefaultPageSize()sort-params-type-- Returns:
-
streamDynamic
<T> Stream<T> streamDynamic(Integer first, Integer max, Map<String, CrudReadService.SORTORDER> sort, List<Param> params, Class<T> type) - Type Parameters:
T-- Parameters:
first- defaults to 0max- defaults togetDefaultPageSize()sort-params-type-- Returns:
-
countDynamic
Call this using the same parameters as in findDynamic to get to know the total number of results- Parameters:
params-type-- Returns:
-
find
- Type Parameters:
T-- Parameters:
namedQuery-params-first- defaults to 0max- defaults togetDefaultPageSize()type-- Returns:
-
findJpql
query using your own jpql- Parameters:
jpql-- Returns:
-
findNative
query using your own sql and a wrapper entity class- Parameters:
sql-- Returns:
-
findNative
query using your own sql- Parameters:
sql-- Returns:
- for select queries a list of object or object[]
-
stream
<T> Stream<T> stream(String namedQuery, List<Param> params, Integer first, Integer max, Class<T> type) - Type Parameters:
T-- Parameters:
namedQuery-params-first- defaults to 0max- defaults togetDefaultPageSize()type-- Returns:
-
findNative
<T> List<T> findNative(String namedNativeQuery, List<Param> params, Integer first, Integer max, Class<T> type) - Type Parameters:
T-- Parameters:
namedNativeQuery-params-first- defaults to 0max- defaults togetDefaultPageSize()type-- Returns:
-
streamNative
<T> Stream<T> streamNative(String namedNativeQuery, List<Param> params, Integer first, Integer max, Class<T> type) - Type Parameters:
T-- Parameters:
namedNativeQuery-params-first- defaults to 0max- defaults togetDefaultPageSize()type-- Returns:
-
count
Call this using the same parameters as infind(java.lang.String, java.util.List, java.lang.Integer, java.lang.Integer, java.lang.Class)to get to know the total number of results- Parameters:
namedQuery-params-- Returns:
-
findOne
return one result or null, multiple results throws an exception- Type Parameters:
T-- Parameters:
namedQuery-params-type-- Returns:
-
findExactlyOne
<T> T findExactlyOne(String namedQuery, List<Param> params, Class<T> type) throws PreventEJBLoggingException return one result, no or multiple results throws an exception- Type Parameters:
T-- Parameters:
namedQuery-params-type-- Returns:
- Throws:
PreventEJBLoggingException
-