[Spring] JPA로 일정 시간 후 데이터 삭제 구현하기
·
Spring
데이터를 삭제할 때, 즉시 데이터베이스에서 제거하는 방식(DELETE)은 간단하지만, 데이터 복구가 어렵고, 감사(audit) 및 트랜잭션 이력을 유지할 수 없다는 단점이 있다.  이에 따라, 많은 애플리케이션에서는 논리 삭제(Soft Delete)를 적용하고, 일정 시간이 지난 후 배치 작업을 통해 데이터베이스에서 실제로 삭제하는 방법을 사용한다. 이번 글에서는 JPA를 활용하여 논리 삭제 후 배치 작업으로 데이터를 완전 삭제하는 구현 방법을 설명한다. 논리 삭제 (Soft Delete) 란?데이터 베이스에서 데이터를 즉시 제거하지 않고, 삭제된 상태를 나태는 플래그(컬럼)을 추가한다.위 방식을 이용한다면, 데이터를 유지하면서 삭제된 것처럼 처리할 수 있다.     1️⃣ 논리 삭제 구현 (@SQLDe..
[Spring] 동적 쿼리를 활용한 사용자 조회 기능 구현 및 트러블슈팅
·
Spring
스프링 부트(Spring Boot)와 JPA를 사용하여 특정 조건에 따라 사용자를 조회하는 기능을 구현할 때, 경우에 따라 동적으로 쿼리를 생성해야 하는 요구사항이 발생할 수 있습니다. 현재 진행중인 스케쥴 관리 애플리케이션 개발 프로젝트에서 사용자 정보를 효율적으로 조회하기 위해@Query를 활용하여 아이디, 이름, 이메일을 기반으로 사용자를 조회하는 기능을 구현하고, 개발 중 발생하였던 문제와 해결 방법을 설명하겠습니다. 🔍 요구사항1️⃣ 검색 조건을 입력하지 않으면 전체 사용자 조회2️⃣ 아이디(pk)를 입력하면 해당 사용자 조회3️⃣ 이름을 입력하면 동일한 이름을 가진 사용자 조회4️⃣ 이메일을 입력하면 동일한 이메일을 가진 사용자 조회       🔷 동적 쿼리 구현하기이번 스케줄 관리 어플리..