Package com.esprit.services.base
Class BaseService<T,ID>
java.lang.Object
com.esprit.services.base.BaseService<T,ID>
- Type Parameters:
T
- The entity type this service managesID
- The ID type of the entity
Generic base service providing common CRUD operations for entities. Reduces
boilerplate code across service classes.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static jakarta.persistence.EntityManagerFactory
protected static final Logger
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
batchInsert
(List<T> entities, int batchSize) Batch insert entities for better performancestatic void
Close the EntityManagerFactorylong
count()
Count total entitiesvoid
Create a new entityvoid
Delete an entityvoid
deleteById
(ID id) Delete entity by IDexecuteQuery
(String jpql, Object... parameters) Execute a custom queryprotected int
executeUpdate
(String jpql, Object... parameters) Execute a custom update/delete queryboolean
existsById
(ID id) Check if entity exists by IDfindAll()
Find all entitiesFind entity by IDfindWithPagination
(int page, int size) Find entities with paginationprotected jakarta.persistence.EntityManager
Get EntityManager instanceUpdate an existing entity
-
Field Details
-
logger
-
entityManagerFactory
private static jakarta.persistence.EntityManagerFactory entityManagerFactory -
entityClass
-
-
Constructor Details
-
BaseService
-
-
Method Details
-
getEntityManager
protected jakarta.persistence.EntityManager getEntityManager()Get EntityManager instance -
create
Create a new entity -
findById
Find entity by ID -
findAll
Find all entities -
update
Update an existing entity -
deleteById
Delete entity by ID -
delete
Delete an entity -
existsById
Check if entity exists by ID -
count
public long count()Count total entities -
findWithPagination
Find entities with pagination -
executeQuery
Execute a custom query -
executeUpdate
Execute a custom update/delete query -
batchInsert
Batch insert entities for better performance -
closeEntityManagerFactory
public static void closeEntityManagerFactory()Close the EntityManagerFactory
-