package com.mousetech.gourmetj.persistence.dao; import java.util.List; import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import com.mousetech.gourmetj.persistence.model.Category; import com.mousetech.gourmetj.persistence.model.Recipe; /** * JpaRepository for Recipes, which relate OneToMany for * Ingredients and Categories. * * Service method is @see RecipeService * * @author timh * @since Dec 28, 2021 */ @Repository public interface RecipeRepository extends JpaRepository { List findByTitleContaining(String searchText); @EntityGraph(value="Recipe.findWorkingSet") public Recipe findDetailsById(Long recipeId); @Query(name = "Recipe.findCusines", nativeQuery = true) List FindCuisinesNative(); List findByCategories_CategoryContains(String searchText); List findByCuisineContains(String searchText); List findDistinctByIngredientHash_ItemContains( String searchText); }