package com.aiteacher.document; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import java.util.List; import java.util.UUID; public interface SectionRepository extends JpaRepository { List findAllByBookId(UUID bookId); void deleteAllByBookId(UUID bookId); @Query("SELECT s FROM SectionEntity s WHERE s.bookId = :bookId AND s.pageStart <= :windowEnd AND s.pageEnd >= :windowStart ORDER BY s.pageStart") List findByBookIdAndPageOverlap( @Param("bookId") UUID bookId, @Param("windowStart") int windowStart, @Param("windowEnd") int windowEnd); }