Package org.fryske_akademy.services
This package contains interfaces and base classes for the development of crud (EJB/CDI) beans. The goal is
to provide support for dynamic queries, named queries, lazy loading, write operations (including batch) and
at the same time deal with intricacies of EntityManager and Transactions. The preferred usage is Local Stateless session bean injected in CDI controller beans.
The controller beans may be passivation capable, in that case a field holding a reference to a stateless session bean should be transient and a private method
readObject should initialize it, see Util#getBean.
Read and write operations are completely separated in the interfaces, which allows for optimization
and extra security. EJB is required for declarative security to work.
-
Interface Summary Interface Description Auditing Generic interface for entity history.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.CrudWriteService Generic interface for write operations on entities -
Class Summary Class Description AbstractCrudService This base class enables you to create crud service beans with minimal effort.AbstractCrudServiceEnvers CrudReadService.SORTORDER.Builder -
Enum Summary Enum Description CrudReadService.SORTORDER -
Exception Summary Exception Description PreventEJBLoggingException RuntimeException marked as ApplicationException to prevent logging from EJB layer