https://pixx.tistory.com/391 @SQLDelete(sql = "UPDATE AST_ATTR_ELEMENTS SET IS_DELETED = 1 WHERE AST_ATTR_ELEMENT_ID = ?")@SQLRestriction("IS_DELETED = 0") 개요이번 프로젝트에서는 모든 조회 및 검색에서 is_deleted가 false인, 즉 논리적으로 삭제되지 않은 데이터만을 처리하도록 요구하고 있습니다. 이를 해결할 수 있는 방법은 다양합니다. 예를 들어, 단순히 Repository에 조건을 추가하는 방법, @Query 어노테이션을 활용하는 방법 등이 있습니다. 하지만 이번 기회에 새롭게 알게 된 @SQLRestriction 어노테이션에 대해 공부한 내용을 정리하고자 합니다...
공부/Spring Boot
스프링 부트 JPA - @PrePersist, @PreUpdate 개념@PrePersist 및 @PreUpdate는 Entity가 Persist(데이터베이스에 삽입) 또는 Update(데이터베이스에 수정)되기 전에 JPA Provider가 자동으로 실행해야 하는 메서드를 지정하는 데 사용되는 JPA(Java Persistence API)의 어노테이션(Annotation)입니다.@PrePersist@PrePersist 어노테이션은 Entity가 영속화되기 직전에 실행되어야 하는 Entity 클래스의 메서드를 표시하는 데 사용합니다. 이 메서드는 Entity가 데이터베이스에 저장되기 전에 JPA Provider에 의해 자동으로 호출됩니다.@PreUpdate@PreUpdate 어노테이션은 데이터베이스에서 ..
Spring Boot Webflux 반응형 및 비동기적인 웹 애플리케이션 개발을 지원하는 모듈이다. 이 모듈은 Reactive Streams 사양을 기반으로 하여, 비동기적인 이벤트 지향 프로그래밍을 통해 높은 확장성과 성능을 제공한다. Webflux를 사용하는 목적은 반응형 프로그래밍을 통해 '높은 처리량'과 '확장성'을 갖는 애플리케이션을 만드는 것을 목표로 한다. [ 더 알아보기 ] 💡 Webflux는 Spring Framework 5.0부터 지원한다고 들었는데 Spring Boot는 몇 버전이 되어야 하는가? - Spring Framework 5.0은 Spring Boot 2.0 이상을 요구하므로 Webflux를 사용하는데 Spring Boot 2.0 이상 버전이 최소 요구사항이 됩니다. Webf..
ResponseEntity ?Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스를 상속받아 구현한 클래스가 RequestEntity, ResponseEntity 클래스이다.이것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpStatus, HttpHeaders, HttpBody를 포함한다.참고 https://devlog-wjdrbs96.tistory.com/182 프로젝트에서 활용장바구니가 추가 기능에서 활용하였다.값이 NULL일 경우, 장바구니 추가 가능 / 값이 NULL이 아닐 경우, 예외처리 에러 클래스 package com.example.shopping.common;public class RestError { private S..