[Spring Boot] Kotlin + MongoDB / MongoRepository 데이터 조회가 안될 때 수정 및 확인 사항



1. 문제 상황

Kotlin을 이용하여 Spring Boot 프로젝트를 진행하던 도중, MongoDB를 사용하는 상황이 있었습니다. MongoDB를 더 쉽게 사용하기 위하여 MongoRepository를 사용하였는데요.

1.1. 정상 동작하지 않던 소스코드

interface PurchaseMongoRepository : MongoRepository<PurchaseMongoDocument, String> {
    fun findByUserIDAndPurchaseIDIn(
      purchaseIDs: List<String>, 
      userID: String,
    ) : List<PurchaseMongoDocument>
}

1.2. 정상 동작 소스코드

interface PurchaseMongoRepository : MongoRepository<PurchaseMongoDocument, String> {
    fun findByUserIDAndPurchaseIDIn(
      userID: String, 
      purchaseIDs: List<String>,
    ) : List<PurchaseMongoDocument>
}

2. 해결책

위의 소스코드에서 변한 것은 findBy_A_And_B_In(B, A) 함수를 findBy_A_And_B_In(A, B) 순서로 변경한 것 뿐입니다. 나머지는 변경하지 않았는데요. 혹시 정상적으로 코드를 작성한 것 같은데 조회가 되지 않는다면 위와 같이 순서가 반대로 되어 있지 않은지 확인해보시는 것도 좋을 것 같습니다.