
fi.evolver.basics.spring.job.TaskStatusRepository Maven / Gradle / Ivy
package fi.evolver.basics.spring.job;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import fi.evolver.basics.spring.job.entity.TaskStatus;
import fi.evolver.basics.spring.job.entity.TaskStatus.TaskState;
@Repository
@Transactional(readOnly = true)
public interface TaskStatusRepository extends JpaRepository {
@Query("SELECT s.state FROM TaskStatus s WHERE s.id = :id")
TaskState findStateById(@Param("id") long id);
int deleteByLastUpdatedLessThan(LocalDateTime deleteBefore);
@Query("SELECT s FROM TaskStatus s WHERE " +
" s.state IN :states AND " +
" s.lastUpdated < :before " +
"ORDER BY " +
" s.lastUpdated ASC")
List findByStatesAndLastUpdatedBefore(Collection states, LocalDateTime before, Pageable pageable);
@Query("SELECT s FROM TaskStatus s WHERE " +
" s.state IN :states " +
"ORDER BY " +
" s.lastUpdated ASC")
List findByStates(Collection states);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy