[Spring] @Builder 사용의 이점
·
Spring
1. Builder 패턴과 @Builder란?Builder 패턴은 복잡한 객체 생성 과정을 단계별로 구성할 수 있도록 도와주는 디자인 패턴으로,Lombok의 `@Builder`어노테이션은 Builder 패턴을 적용할 수 있도록 도와준다. 복잡한 객체 생성 과정이란?매개 변수가 많은 생성자 일부 필드가 선택 사항이고, 조건에 따라 값이 달라져야 하는 경우객체 생성 시 유효성 검증, 기본 값 설정, 복잡한 계산 로직이 필요한 경우 따라서, Builder 패턴을 사용하면,생성자에 전달하는 파라미터의 순서나 누락 문제를 방지하고가독성이 좋고, 코드 유지보수가 쉬우며불필요한 생성자 오버라이딩 줄일 수 있다. 2. Builder 패턴 사용 예시[ParkingLot 엔티티]package com.parkez.par..
데이터베이스 설계의 중요성과 6가지 원칙
·
Spring
현대 소프트웨어 개발에서 데이터베이스 설계가 단순한 테이블과 컬럼 구성 이상의 의미를 가지고 있습니다.데이터 베이스 설계는 전체 시스템의 성능, 안정성 및 보안을 좌우하는 핵심요소로 부각되고 있습니다. Spring 프레임워크를 공부하는 학생들에게 있어,데이터베이스의 설계의 기본 원칙을 깊이 이해하고 적용하면 프로젝트를 성공적으로 구현할 수 있습니다. 본 글에서는 데이터 무결성, 정합성, 독립성, 확장성, 일관성, 그리고 보안이라는 여섯 가지 핵심 원칙을 중심으로이 요소들이 어떻게 효과적으로 데이터베이스 설계와 관리에 기여하는지 살펴보려고 합니다.      🔍 데이터 무결성을 고려한 데이터베이스 설계1️⃣ 무결성 (Integrity)데이터 무결성이란 데이터의 정확성과 일관성을 유지하기 위한 제약 조건 및..
[Spring] JPA로 일정 시간 후 데이터 삭제 구현하기
·
Spring
데이터를 삭제할 때, 즉시 데이터베이스에서 제거하는 방식(DELETE)은 간단하지만, 데이터 복구가 어렵고, 감사(audit) 및 트랜잭션 이력을 유지할 수 없다는 단점이 있다.  이에 따라, 많은 애플리케이션에서는 논리 삭제(Soft Delete)를 적용하고, 일정 시간이 지난 후 배치 작업을 통해 데이터베이스에서 실제로 삭제하는 방법을 사용한다. 이번 글에서는 JPA를 활용하여 논리 삭제 후 배치 작업으로 데이터를 완전 삭제하는 구현 방법을 설명한다. 논리 삭제 (Soft Delete) 란?데이터 베이스에서 데이터를 즉시 제거하지 않고, 삭제된 상태를 나태는 플래그(컬럼)을 추가한다.위 방식을 이용한다면, 데이터를 유지하면서 삭제된 것처럼 처리할 수 있다.     1️⃣ 논리 삭제 구현 (@SQLDe..
[Spring] 동적 쿼리를 활용한 사용자 조회 기능 구현 및 트러블슈팅
·
Spring
스프링 부트(Spring Boot)와 JPA를 사용하여 특정 조건에 따라 사용자를 조회하는 기능을 구현할 때, 경우에 따라 동적으로 쿼리를 생성해야 하는 요구사항이 발생할 수 있습니다. 현재 진행중인 스케쥴 관리 애플리케이션 개발 프로젝트에서 사용자 정보를 효율적으로 조회하기 위해@Query를 활용하여 아이디, 이름, 이메일을 기반으로 사용자를 조회하는 기능을 구현하고, 개발 중 발생하였던 문제와 해결 방법을 설명하겠습니다. 🔍 요구사항1️⃣ 검색 조건을 입력하지 않으면 전체 사용자 조회2️⃣ 아이디(pk)를 입력하면 해당 사용자 조회3️⃣ 이름을 입력하면 동일한 이름을 가진 사용자 조회4️⃣ 이메일을 입력하면 동일한 이메일을 가진 사용자 조회       🔷 동적 쿼리 구현하기이번 스케줄 관리 어플리..