MetaTaskRepo.java 1014 B

123456789101112131415161718192021222324
  1. package com.izouma.nineth.repo;
  2. import com.izouma.nineth.domain.MetaTask;
  3. import org.springframework.data.jpa.repository.JpaRepository;
  4. import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
  5. import org.springframework.data.jpa.repository.Modifying;
  6. import org.springframework.data.jpa.repository.Query;
  7. import javax.transaction.Transactional;
  8. import java.util.List;
  9. public interface MetaTaskRepo extends JpaRepository<MetaTask, Long>, JpaSpecificationExecutor<MetaTask> {
  10. @Query("update MetaTask t set t.del = true where t.id = ?1")
  11. @Modifying
  12. @Transactional
  13. void softDelete(Long id);
  14. MetaTask findByIdAndDel(Long taskId, boolean del);
  15. List<MetaTask> findAllByPublishAndDelAndFinish(boolean publish, boolean del, boolean finish);
  16. @Query(value = "select * from meta_task where finish = false and del = false and publish = true and id not in (select task_id from meta_task_to_user where user_id = ?1)", nativeQuery = true)
  17. List<MetaTask> canGet(Long userId);
  18. }