package com.gkhy.labRiskManage.domain.account.repository.jpa; import com.gkhy.labRiskManage.domain.account.entity.Role; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Repository public interface RoleRepository extends JpaRepository { @Query(value = "select r from Role r where r.name = :name and r.delFlag = 0") Role findRoleByName(String name); List findAllByDelFlag(Byte delFlag); @Query(value = "update Role r set r.delFlag = 1 where r.id = :roleId") @Transactional @Modifying Integer deleteRole(Long roleId); List findAllByIdIn(List idList); @Query(value = "update Role r set r.name = :name where r.id = :roleId") @Transactional @Modifying Integer updateRoleName(Long roleId,String name); @Query(value = "select r from Role r where r.id in (:idList) and r.delFlag = 0") List findAllByIdInAndDelFlag(List idList); }