diff --git a/backend/src/main/java/com/example/Piroin/project/domain/question/repository/QuestionAnonymousIdentityRepository.java b/backend/src/main/java/com/example/Piroin/project/domain/question/repository/QuestionAnonymousIdentityRepository.java index cab03c1..53448d9 100644 --- a/backend/src/main/java/com/example/Piroin/project/domain/question/repository/QuestionAnonymousIdentityRepository.java +++ b/backend/src/main/java/com/example/Piroin/project/domain/question/repository/QuestionAnonymousIdentityRepository.java @@ -5,6 +5,8 @@ import com.example.Piroin.project.domain.user.entity.User; import com.example.Piroin.project.domain.user.enums.Role; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import java.util.Optional; @@ -18,4 +20,10 @@ public interface QuestionAnonymousIdentityRepository extends JpaRepository { // 처음 댓글 다는 유저 → 역할별 카운트 기반으로 새 번호 부여 int nextNo = anonymousIdentityRepository - .countByQuestionAndUser_Role(question, commenter.getRole()) + 1; + .findMaxAnonymousNoByQuestionAndRole(question, commenter.getRole()) + 1; anonymousIdentityRepository.save(QuestionAnonymousIdentity.builder() .question(question) diff --git a/backend/src/main/resources/db/migration/V5__add_unique_constraint_question_anonymous_identity.sql b/backend/src/main/resources/db/migration/V5__add_unique_constraint_question_anonymous_identity.sql new file mode 100644 index 0000000..5fbcf3e --- /dev/null +++ b/backend/src/main/resources/db/migration/V5__add_unique_constraint_question_anonymous_identity.sql @@ -0,0 +1,3 @@ +ALTER TABLE question_anonymous_identity + ADD CONSTRAINT uq_question_anonymous_identity_question_user + UNIQUE (question_id, user_id); \ No newline at end of file