Class JpaRepository<T extends TaskTideModel<T>>

java.lang.Object
org.tasktide.core.repository.AbstractRepository<T>
org.tasktide.core.repository.JpaRepository<T>
Type Parameters:
T - of TaskTideRepository for TaskTideModel
All Implemented Interfaces:
TaskTideRepository<T>
Direct Known Subclasses:
JpaJobEnvironmentRepository, JpaMetricDataRepository, JpaMetricProfileRepository, JpaStepRepository, JpaWorkflowRepository, JpaWorkItemRepository

public abstract class JpaRepository<T extends TaskTideModel<T>> extends AbstractRepository<T>
JPA Entity Manager repository allowing subclasses to be persisted to Relational backends (ex Postgres, MySQL etc)
  • Field Details

    • entityManager

      protected final jakarta.persistence.EntityManager entityManager
  • Constructor Details

    • JpaRepository

      public JpaRepository(TaskTideModelType modelType, jakarta.persistence.EntityManager entityManager, Class<T> clazz, String collectionName)
      Construct with target model class, and collection
      Parameters:
      modelType -
      entityManager -
      clazz -
      collectionName -
  • Method Details

    • findById

      public Optional<T> findById(String id)
      Find the TaskTideModel having id
      Parameters:
      id -
      Returns:
      Optional-T
    • insertModel

      public T insertModel(T model)
      Insert record
      Parameters:
      model -
      Returns:
      T
    • updateModel

      public T updateModel(T model)
      Update provided model
      Parameters:
      model -
      Returns:
      T
    • deleteModel

      public boolean deleteModel(String id)
      Remove model with provided id
      Parameters:
      id -
      Returns:
      boolean
    • findByField

      public List<T> findByField(String field, Object value)
      Find records where provided field '==' value
      Parameters:
      field -
      value -
      Returns:
      List-T
    • findByFieldForGroup

      public List<T> findByFieldForGroup(String field, Object value, String group, Object groupVal)
      Find TaskTideModel from backend with field and group having specified value. Step = Name, State = ToDo
      Parameters:
      field -
      value -
      group -
      groupVal -
      Returns:
      List-TaskTideModel
    • findAll

      public List<T> findAll()
      Fetch all records
      Returns:
      List-T
    • save

      public int save()
      Persist all records
      Returns:
      int
    • countRecords

      public long countRecords()
      Count records
      Returns:
      long
    • load

      public List<T> load()
      Fetch all records
      Specified by:
      load in interface TaskTideRepository<T extends TaskTideModel<T>>
      Overrides:
      load in class AbstractRepository<T extends TaskTideModel<T>>
      Returns:
      List-T
    • extendModel

      public boolean extendModel(List<T> toAdd)
      Insert provided records
      Parameters:
      toAdd -
      Returns:
      boolean