package com.rongyichuang.activity.repository;
|
|
import com.rongyichuang.activity.entity.ActivityJudge;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.Modifying;
|
import org.springframework.data.jpa.repository.Query;
|
import org.springframework.data.repository.query.Param;
|
import org.springframework.stereotype.Repository;
|
|
import java.util.List;
|
|
@Repository
|
public interface ActivityJudgeRepository extends JpaRepository<ActivityJudge, Long> {
|
|
/**
|
* 根据比赛ID查找所有评委关联
|
*/
|
List<ActivityJudge> findByActivityId(Long activityId);
|
|
/**
|
* 根据比赛ID和阶段ID查找评委关联
|
*/
|
List<ActivityJudge> findByActivityIdAndStageId(Long activityId, Long stageId);
|
|
/**
|
* 根据比赛ID删除所有评委关联(软删除)
|
*/
|
@Modifying
|
@Query("DELETE FROM ActivityJudge aj WHERE aj.activityId = :activityId")
|
void deleteByActivityId(@Param("activityId") Long activityId);
|
|
/**
|
* 根据比赛ID和评委ID删除关联
|
* 由于约束现在是基于stage_id和judge_id,这个方法会删除该评委在该比赛下的所有关联
|
*/
|
@Modifying
|
@Query("DELETE FROM ActivityJudge aj WHERE aj.activityId = :activityId AND aj.judgeId = :judgeId")
|
void deleteByActivityIdAndJudgeId(@Param("activityId") Long activityId, @Param("judgeId") Long judgeId);
|
|
/**
|
* 根据比赛ID和评委ID查找关联
|
*/
|
List<ActivityJudge> findByActivityIdAndJudgeId(Long activityId, Long judgeId);
|
}
|