diff --git a/backend/src/main/java/net/pengcook/recipe/service/RecipeService.java b/backend/src/main/java/net/pengcook/recipe/service/RecipeService.java index bb3778bb..8da1eac5 100644 --- a/backend/src/main/java/net/pengcook/recipe/service/RecipeService.java +++ b/backend/src/main/java/net/pengcook/recipe/service/RecipeService.java @@ -33,7 +33,6 @@ import org.springframework.transaction.annotation.Transactional; @Service -@Transactional @RequiredArgsConstructor public class RecipeService { @@ -49,6 +48,7 @@ public class RecipeService { private final CommentService commentService; private final RecipeLikeService recipeLikeService; + @Transactional(readOnly = true) public List readRecipes(UserInfo userInfo, PageRecipeRequest pageRecipeRequest) { Pageable pageable = pageRecipeRequest.getPageable(); List recipeIds = recipeRepository.findRecipeIdsByCategoryAndKeyword( @@ -66,6 +66,7 @@ public List readRecipes(UserInfo userInfo, PageRecip .toList(); } + @Transactional(readOnly = true) public List readLikeRecipes(UserInfo userInfo) { List likeRecipeIds = likeRepository.findRecipeIdsByUserId(userInfo.getId()); List recipeHomeResponses = recipeRepository.findRecipeData(likeRecipeIds); @@ -76,6 +77,7 @@ public List readLikeRecipes(UserInfo userInfo) { .toList(); } + @Transactional public RecipeResponse createRecipe(UserInfo userInfo, RecipeRequest recipeRequest) { User author = userRepository.findById(userInfo.getId()).orElseThrow(); String thumbnailUrl = s3ClientService.getImageUrl(recipeRequest.thumbnail()).url(); @@ -96,6 +98,7 @@ public RecipeResponse createRecipe(UserInfo userInfo, RecipeRequest recipeReques return new RecipeResponse(savedRecipe); } + @Transactional(readOnly = true) public RecipeDescriptionResponse readRecipeDescription(UserInfo userInfo, long recipeId) { List recipeDataResponses = recipeRepository.findRecipeData(recipeId); @@ -107,6 +110,7 @@ public RecipeDescriptionResponse readRecipeDescription(UserInfo userInfo, long r ); } + @Transactional public void deleteRecipe(UserInfo userInfo, long recipeId) { Optional targetRecipe = recipeRepository.findById(recipeId);