Spring Data MongoDB7 Spring Data MongoDB - Custom Repository 사용하기 Spring Data는 코드 작업 없이 쿼리 메서드를 자동으로 생성할 수 있는 프레임워크를 제공한다. 그러나 이러한 자동 생성 메서드 이외에도 정밀한 DB 작업을 수행하기 위해서 때로는 사용자 정의 메서드를 구현해야 하는 경우도 있다. (ex. aggregation과 같은..)이러한 경우 inteface로 선언된 Repository 클래스 하나로 별도로 구현한 Custom Repository에 포함된 기능들과 더불어 자동 생성된 메서드를 사용할 수 있다. 먼저 Spring Data MongoDB를 사용하기 위한 연결 설정에 대한 내용은 아래 포스팅을 참고하기 바란다.2024.01.01 - [스프링부트] - spring data MongoDB - MongoTemplate 설정하기2023.12.29 - [스.. 스프링부트 2024. 3. 13. spring data MongoDB - auditing 설정 및 활용 Spring Data는 엔티티(도큐먼트)가 생성되거나 수정될 때 생성자, 수정자, 생성시간, 수정시간을 투명하게 추적할 수 있도록 Auditing 기능을 제공한다. 이번 포스팅에서는 spring data MongoDB 에서 Auditing 기능을 사용할 수 있는 방법에 대해서 정리하고자 한다. Auditing 기능 활성화@Configuration@EnableMongoAuditingpublic class MongoDBConfigurationByDirect {...}@EnableMongoAuditing 어노테이션은 Spring Data MongoDB에서 제공하는 auditing 기능을 활성화하기 위해서 사용한다.@EnableMongoAuditing을 사용하면 엔티티가 데이터베이스에 저장되거나 업데이트될 때 .. 스프링부트 2024. 2. 26. spring data MongoDB - Repository 사용하기 Spring Data MongoDB는 Spring 애플리케이션 내에서 데이터 액세스를 단순화하는 것을 목표로 하는 Spring Data 프로젝트의 일부이다. MongoDB와의 원활한 통합을 제공하여 CRUD 작업을 추상화하여 데이터베이스와 상호작용하는 생산적인 방법을 제공한다.Repository는 Spring Data 프레임워크의 핵심이며 데이터 액세스 계층에 대한 높은 수준의 추상화를 제공한다. 이번 포스팅에서는 Spring Data MongoDB에서 Repository를 이용하여 간단한 CRUD 작업을 수행하는 방법에 대해서 샘플 기반으로 소개하고자 한다. Core conceptsSpring Data Repository 추상화의 중심 인터페이스는 Repository다. Repository 인터페이스는.. 스프링부트 2024. 2. 20. spring data MongoDB - 필드 변환하기 (Converter) 이번 포스팅에서는 MongoDB 에서 특정 필드 타입에 대해서 값을 변환하거나 지정된 필드에 대해서만 값을 변환하는 방법과 함께 key 필드에 도트 문자('.')가 포함된 경우 에러가 발생하지 않도록 하는 방법에 대해서 소개하고자 한다. Document key 필드에 도트 문자가 포함된 경우 처리MongoDB의 Document key 필드에 도트 문자가 포함된 경우 다음과 같은 에러를 만날 수 있다.Map key {필드명} contains dots but no replacement was configured! Make sure map keys don't contain dots in the first place or configure an appropriate replacement!위 에러를 피하는 방법은.. 스프링부트 2024. 2. 4. spring data MongoDB - ScopedValue를 이용한 MongoDB multiple database 연결하기 MongoDB에서 다수의 데이터베이스를 운영해야 하는 경우 ScopedValue (JDK 21 preview)를 이용하여 동적으로 해당 데이터베이스에 연결하는 방법에 대해서 소개하고자 한다.많은 수의 데이터베이스가 동적으로 생성되는 경우에 유용할 것이라고 생각한다. (ex. 테넌트별로 데이터베이스를 생성해야 하는 경우)사용하는 데이터베이스 수가 정해져 있고 소수의 경우에는 각각의 데이터베이스에 대해서 Configuration 구성을 하는 방법도 있는데 해당 방법은 아래 링크를 참고하면 도움이 될 것 같다.https://www.baeldung.com/mongodb-multiple-databases-spring-dataScopedValue 대신에 ThreadLocal을 활용해도 되지만 ScopedValue에.. 스프링부트 2024. 1. 6. spring data MongoDB - MongoTemplate 설정하기 Spring data MongoDB의 핵심 역할을 하는 MongoTemplate과 반응형 대응 클래스는 org.springframework.data:spring-data-mongodb 모듈의 org.springframework.data.mongodb.core 패키지에 있다. MongoTemplate는 데이터베이스와 상호 작용하기 위한 풍부한 기능 세트를 제공하며 MongoDB Document를 생성, 업데이트, 삭제 및 쿼리 하기 위한 편리한 작업을 제공한다.이번 포스팅에서는 MongoTemplate을 구성하는 방법과 MongoTemplate의 여러가지 옵션에 대해서 정리해 보고자 한다.MongoClient는 MongoClientSettings와 함께 MongoDB 연결에 대한 설정을 하지만 MongoT.. 스프링부트 2024. 1. 1. spring boot data MongoDB - 연결 설정 하기 NoSQL 데이터베이스로 가장 많이 사용되고 있는 MongoDB를 spring boot data MongoDB 를 통해서 사용하는 방법에 대해서 정리해 보고자 한다. 샘플 코드는 spring boot 3.2.1 버전을 기반으로 작성하였다. Dependencygradleplugins { id 'java' id 'org.springframework.boot' version '3.2.1' id 'io.spring.dependency-management' version '1.1.4'}...dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' ...} spring boot Mon.. 스프링부트 2023. 12. 29. 이전 1 다음 💲 추천 글