Interface Repository<T extends Model>
- Type Parameters:
T- the domain model type the repository manages
- All Known Implementing Classes:
AbstractMetaJsonModelRepository,AbstractMFARepository,AbstractUserRepository,AbstractUserTokenRepository,AuditLogRepository,DMSFileRepository,DMSFileTagRepository,DMSPermissionRepository,GroupRepository,JpaRepository,MailAddressRepository,MailFlagsRepository,MailFollowerRepository,MailMessageRepository,MetaActionMenuRepository,MetaActionRepository,MetaAttachmentRepository,MetaAttrsRepository,MetaEnumRepository,MetaFieldRepository,MetaFileRepository,MetaFilterRepository,MetaHelpRepository,MetaJsonFieldRepository,MetaJsonModelRepository,MetaJsonRecordRepository,MetaMenuRepository,MetaModelRepository,MetaModuleRepository,MetaPermissionRepository,MetaPermissionRuleRepository,MetaScheduleParamRepository,MetaScheduleRepository,MetaSelectItemRepository,MetaSelectRepository,MetaSequenceRepository,MetaThemeRepository,MetaTranslationRepository,MetaViewCustomRepository,MetaViewRepository,MFARepository,PasswordResetTokenRepository,PermissionRepository,RoleRepository,TeamRepository,TeamTaskRepository,TeamTopicRepository,UserRepository,UserTokenRepository
-
Method Summary
Modifier and TypeMethodDescriptionall()Get theQueryinstance of the managed domain class.Create a duplicate copy of the given entity.
In case of deep copy, one-to-many records are duplicated.Create a new instance of the domain model with the given default values.fields()Return list of properties on the domain model managed by this repository.Finds an entity by its primary key.Finds an entity by its primary key.Find multiple entities by their primary key.voidflush()Synchronize the persistence context to the underlying database.getReferenceById(Long id) Retrieves a reference (proxy) to an entity instance with the specified ID without immediately loading its state from the database.Populate the given json map with additional data.voidRefresh the state of the instance from the database, overwriting changes made to the entity, if any.voidRemove the given entity.Save the given entity.Validate the given json map before persisting.
-
Method Details
-
fields
Return list of properties on the domain model managed by this repository.- Returns:
- list of
Property
-
all
Get theQueryinstance of the managed domain class.- Returns:
- instance of
Query
-
create
Create a new instance of the domain model with the given default values.- Parameters:
values- the default values- Returns:
- an instance of the domain model managed by this repository
-
copy
Create a duplicate copy of the given entity.
In case of deep copy, one-to-many records are duplicated. Otherwise, one-to-many records will be skipped.- Parameters:
entity- the entity bean to copydeep- whether to create a deep copy- Returns:
- a copy of the given entity
-
find
Finds an entity by its primary key.- Parameters:
id- the entity id to load- Returns:
- entity found by the given id, null otherwise
-
findById
Finds an entity by its primary key.- Parameters:
id- the entity id to load- Returns:
- an
Optionalcontaining the found entity, orOptional#empty()if not found
-
findByIds
Find multiple entities by their primary key.WARNING: The list may contain NULL elements if an id was not found. The list size and order will match the input ids.
- Parameters:
ids- The ids to load- Returns:
- list of all the matched records
-
getReferenceById
Retrieves a reference (proxy) to an entity instance with the specified ID without immediately loading its state from the database.This method delegates to
EntityManager.getReference(Class, Object). It is designed for performance optimization, particularly when you need to associate an entity (set a foreign key) without the overhead of a database SELECT query.Note: The returned object is likely a dynamic proxy. The database will only be accessed when you invoke a method on the proxy (other than getting the ID). If the entity does not exist in the database, an
EntityNotFoundExceptionwill be thrown at the time of that access, not at the time of calling this method.- Parameters:
id- the primary key of the entity- Returns:
- a managed entity proxy instance with the state lazily fetched
- Throws:
jakarta.persistence.EntityNotFoundException- if the entity state is accessed, and the entity does not exist in the database- See Also:
-
save
Save the given entity.Depending on the implementation, it may return same entity or a copy of it. For example JPA implementation may return a copy if the given entity can't be managed.
- Parameters:
entity- the entity object to save- Returns:
- an instance of the entity with saved state
-
remove
Remove the given entity.- Parameters:
entity- the entity object
-
refresh
Refresh the state of the instance from the database, overwriting changes made to the entity, if any.- Parameters:
entity- the entity object to refresh
-
flush
void flush()Synchronize the persistence context to the underlying database. -
validate
Validate the given json map before persisting.This method is called before the json map is converted to model object.
- Parameters:
json- the json map to validatecontext- the context- Returns:
- validated json map
-
populate
Populate the given json map with additional data.This method is called before returning the json data as response.
- Parameters:
json- the json map to populatecontext- the context- Returns:
- the json map itself
-