public abstract class BaseDao extends Object implements Closeable
| Modifier and Type | Field and Description |
|---|---|
protected javax.persistence.EntityManager |
em |
| Modifier | Constructor and Description |
|---|---|
protected |
BaseDao(javax.persistence.EntityManagerFactory emf) |
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
<T extends BaseEntity> |
countAll(Class<T> entityClass)
Counts all rows of a type.
|
<T extends BaseEntity> |
create(T obj)
Inserts a new instance in the database.
|
<T extends BaseEntity> |
delete(T obj)
Soft deletes an object.
|
protected static <T extends BaseEntity> |
firstOrNull(List<T> list)
Returns null if the list is empty.
|
<T extends BaseEntity> |
purge(T obj)
Hard deletes an object.
|
<T extends BaseEntity> |
read(Class<T> entityClass,
UUID id)
Retrieves an object by ID.
|
<T extends NamedEntity> |
readByHandle(Class<T> entityClass,
String handle)
Finds a user by handle.
|
<T extends BaseEntity> |
readPage(Class<T> entityClass,
int page,
int pageSize)
Returns a page of objects.
|
<T extends BaseEntity> |
update(T obj)
Updates an object.
|
public <T extends BaseEntity> T create(T obj)
obj - The object to create.public <T extends BaseEntity> T read(Class<T> entityClass, UUID id)
id - The ID.public <T extends NamedEntity> T readByHandle(Class<T> entityClass, String handle)
handle - The user's handle.public <T extends BaseEntity> List<T> readPage(Class<T> entityClass, int page, int pageSize)
entityClass - The entity class.page - The page index (zero indexed).pageSize - The page size.public <T extends BaseEntity> T update(T obj)
obj - The object to update.public <T extends BaseEntity> void delete(T obj)
obj - The object to delete.public <T extends BaseEntity> void purge(T obj)
obj - The object to delete.public <T extends BaseEntity> long countAll(Class<T> entityClass)
entityClass - The entity class.public void close()
close in interface Closeableclose in interface AutoCloseableprotected static <T extends BaseEntity> T firstOrNull(List<T> list)
list - Copyright © 2017 Ajibot. All rights reserved.