package com.izouma.nineth.repo; import com.izouma.nineth.domain.MetaTask; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import javax.transaction.Transactional; import java.util.List; public interface MetaTaskRepo extends JpaRepository, JpaSpecificationExecutor { @Query("update MetaTask t set t.del = true where t.id = ?1") @Modifying @Transactional void softDelete(Long id); MetaTask findByIdAndDel(Long taskId, boolean del); List findAllByPublishAndDelAndFinish(boolean publish, boolean del, boolean finish); @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) List canGet(Long userId); }