You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SmartGymManagementSystem/CourseRepository.java

22 lines
851 B

package com.gym.repository;
import com.gym.model.Course;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.List;
@Repository
public interface CourseRepository extends JpaRepository<Course, Long> {
List<Course> findByCoachId(Long coachId);
List<Course> findByType(String type);
List<Course> findByStatus(String status);
List<Course> findByIsAvailableTrue();
List<Course> findByStartTimeBetween(LocalDateTime start, LocalDateTime end);
@Query("SELECT c FROM Course c WHERE c.currentParticipants < c.maxParticipants AND c.isAvailable = true")
List<Course> findAvailableCourses();
List<Course> findByNameContaining(String keyword);
}