### 궁금증 회사에서 mongodb를 특정ID(PK가 아닌)로 조회 후 없다면 생성후 저장하는 로직이 있는데 duplicated key exception이 발생하였다 mongoDB를 단순 저장하는 기능은 upsert기능을 제공할텐데 왜 그럴까? ### 결론 결론은 @version에 관련된 이슈가 존재했다 해당 관련된 이슈들은 어느 정도 알려진 이슈였음 - https://github.com/spring-projects/spring-data-mongodb/issues/1972 - https://github.com/spring-projects/spring-data-commons/issues/1430 `Persistable`을 구현하였고 isNew() 메소드를 직접 구현하여 해결
궁금증
회사에서 mongodb를 특정ID(PK가 아닌)로 조회 후 없다면 생성후 저장하는 로직이 있는데 duplicated key exception이 발생하였다
mongoDB를 단순 저장하는 기능은 upsert기능을 제공할텐데 왜 그럴까?
결론
결론은 @Version에 관련된 이슈가 존재했다
해당 관련된 이슈들은 어느 정도 알려진 이슈였음
Adding an @Version field to an existing, uniquely indexed entity generates a DuplicateKeyException on update [DATAMONGO-1051] spring-projects/spring-data-mongodb#1972
AbstractEntityInformation should consider Persistable.isNew() [DATACMNS-976] spring-projects/spring-data-commons#1430
Persistable을 구현하였고 isNew() 메소드를 직접 구현하여 해결