Package com.axelor.db

Interface Repository<T extends Model>

    • Method Detail

      • fields

        List<Property> fields()
        Return list of properties on the domain model managed by this repository.
        Returns:
        list of Property
      • all

        Query<T> all()
        Get the Query instance of the managed domain class.
        Returns:
        instance of Query
      • 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 copy
        deep - 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 validate
        context - 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 populate
        context - the context
        Returns:
        the json map itself