Package org.fryske_akademy.services
Interface CrudReadService
-
- All Known Subinterfaces:
Auditing
- All Known Implementing Classes:
AbstractCrudService,AbstractCrudServiceEnvers
public interface CrudReadServiceGeneric 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:
OPERATOR,JpqlBuilder,Param
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classCrudReadService.SORTORDER
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description intcount(String namedQuery, List<Param> params)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 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>find(String jpql, Class<T> clazz)query using your own jpql<T> List<T>find(String namedQuery, List<Param> params, Integer first, Integer max, Class<T> type)<T> List<T>findAll(Class<T> type)<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>findNative(String sql, Class<T> clazz)query using your own sql<T> List<T>findNative(String namedNativeQuery, List<Param> params, Integer first, Integer max, Class<T> type)<T> TfindOne(String namedQuery, List<Param> params, Class<T> type)return one result or null, multiple results throws an exceptionintgetDefaultPageSize()Return a default page size when no max is given, negative value means no limit<T> Stream<T>stream(String namedQuery, List<Param> params, Integer first, Integer max, Class<T> type)<T> Stream<T>streamAll(Class<T> type)<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 Detail
-
getDefaultPageSize
int getDefaultPageSize()
Return a default page size when no max is given, negative value means no limit- Returns:
-
find
<T> T find(Serializable id, Class<T> type)
-
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
int countDynamic(List<Param> params, Class type)
Call this using the same parameters as in findDynamic to get to know the total number of results- Parameters:
params-type-- Returns:
-
find
<T> List<T> find(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:
-
find
<T> List<T> find(String jpql, Class<T> clazz)
query using your own jpql- Parameters:
jpql-- Returns:
-
findNative
<T> List<T> findNative(String sql, Class<T> clazz)
query using your own sql- Parameters:
sql-- Returns:
-
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
int count(String namedQuery, List<Param> params)
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
<T> T findOne(String namedQuery, List<Param> params, Class<T> type)
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
-
-