Package com.axelor.db
Interface Repository<T extends Model>
-
- Type Parameters:
T
- the domain model type the repository manages
- All Known Implementing Classes:
AbstractMetaJsonModelRepository
,AbstractUserRepository
,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
,MetaTranslationRepository
,MetaViewCustomRepository
,MetaViewRepository
,PasswordResetTokenRepository
,PermissionRepository
,RoleRepository
,TeamRepository
,TeamTaskRepository
,TeamTopicRepository
,UserRepository
public interface Repository<T extends Model>
The repository interface defines common data access methods.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Query<T>
all()
Get theQuery
instance of the managed domain class.T
copy(T entity, boolean deep)
Create a duplicate copy of the given entity.
In case of deep copy, one-to-many records are duplicated.T
create(Map<String,Object> values)
Create a new instance of the domain model with the given default values.List<Property>
fields()
Return list of properties on the domain model managed by this repository.T
find(Long id)
Find by primary key.List<T>
findByIds(List<Long> ids)
Find multiple entities by their primary key.void
flush()
Synchronize the persistence context to the underlying database.Map<String,Object>
populate(Map<String,Object> json, Map<String,Object> context)
Populate the given json map with additional data.void
refresh(T entity)
Refresh the state of the instance from the database, overwriting changes made to the entity, if any.void
remove(T entity)
Remove the given entity.T
save(T entity)
Save the given entity.Map<String,Object>
validate(Map<String,Object> json, Map<String,Object> context)
Validate the given json map before persisting.
-
-
-
Method Detail
-
fields
List<Property> fields()
Return list of properties on the domain model managed by this repository.- Returns:
- list of
Property
-
create
T create(Map<String,Object> values)
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
T copy(T entity, boolean deep)
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
T find(Long id)
Find by primary key.- Parameters:
id
- the record id- Returns:
- a domain object found by the given id, null otherwise
-
findByIds
List<T> findByIds(List<Long> ids)
Find multiple entities by their primary key.- Parameters:
ids
- The ids to load- Returns:
- list of all the matched records
-
save
T save(T entity)
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
void remove(T entity)
Remove the given entity.- Parameters:
entity
- the entity object
-
refresh
void refresh(T entity)
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
Map<String,Object> validate(Map<String,Object> json, Map<String,Object> context)
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
Map<String,Object> populate(Map<String,Object> json, Map<String,Object> context)
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
-
-