Newer
Older
teacher-diary / src / main / java / ru / mcs / diary / student / StudentParentRepository.java
package ru.mcs.diary.student;

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 ru.mcs.diary.parent.ParentType;

import java.util.List;
import java.util.Optional;

@Repository
public interface StudentParentRepository extends JpaRepository<StudentParent, Long> {

    List<StudentParent> findAllByStudentId(Long studentId);

    List<StudentParent> findAllByParentId(Long parentId);

    Optional<StudentParent> findByStudentIdAndParentType(Long studentId, ParentType parentType);

    boolean existsByStudentIdAndParentType(Long studentId, ParentType parentType);

    @Query("SELECT COUNT(sp) FROM StudentParent sp WHERE sp.parent.id = :parentId")
    int countChildrenByParentId(@Param("parentId") Long parentId);

    void deleteByStudentIdAndParentId(Long studentId, Long parentId);
}