본문 바로가기

스파르타내일배움캠프21

내일 배움 캠프 TIL -QueryDSL을 사용해서 수정일 순으로 정렬해서 가져오자 개인과제로 만들었었던 프로젝트로 기본적인 스프링 부트 crud 구현에서 조회 부분에 querydsl을 적용해보려고 한다. QueryDsL 이란 정적 타입을 이용하여, SQL과 같은 쿼리를 코드형태로 생성할 수 있도록 해주는 오픈소스 빌더 API이다. JPQL처럼 query문을 문자열로 작성하는 하드 코딩이 아닌 코드형태로 작성을하여 컴파일 시간에 에러가 식별되어 리스크를 줄일 수가 있다. JPQL을 사용한 quey문 public interface PersonRepository extends JpaRepository{ /*변수 바인딩 시, ?시퀀스 사용하는 경우 */ @Query("select p from Person p where p.firstName = ?1 and p.lastName = ?2") Pe.. 2024. 3. 11.
내일배움캠프TIL - @RestControllerAdvice 뉴스피드 프로젝트를 하게 되면서 api 요청에 대한 예외처리 응답을 따로따로 관리해주기가 힘들어 이것을 관리해 주는 것이 필요로 하였다. 이러한 부분을 해결하기위해 스프링 부트에서 제공하는 @RestControllerAdvice를 사용하여 예외처리를 하게 되었다. RestControllerAdvice는 주로 @RestController + @RestControllerAdvice + @ExceptionHandler 조합으로 사용된다. 먼저 예외를 담아서 Client에 보내줄 객체를 만든다. @Getter @Setter @AllArgsConstructor public class ExceptionDto { private int statusCode; private HttpStatus state; private .. 2024. 2. 14.
내일배움캠프TIL - ResponseEntity 개인과제를 통한 API 구현 중 클라이언트의 응답을 상태코드와 메세지 그리고 Response하는 data를 반환하기 위하여 ResponseEntity에 대해 알아 보고 적용을 시켰다. ResponseEntity는 Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재한다. 것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스 public class HttpEntity { private final HttpHeaders headers; @Nullable private final T body; } public class RequestEntity extends HttpEntity public clas.. 2024. 2. 6.
내일배움캠프TIL- 영속성 전이 엔티티의 관계에 대해 일대일 , 일대 다 , 다 대 일, 대 대 다를 배우게 되면서 이렇게 관계된 객체들을 쉽게 관리하고 처리를 하기 위해 영속성 전이라는 것을 알아보겠다. 영속성 전이 : CASCADE 영속성 전이 기능은 특정 엔티티를 영속 상태로 만들 때, 연관 엔티티도 영속 상태로 만들고 싶은 경우 사용한다. JPA 에선는 CASCADE 옵션으로 영속성 전이를 제공한다. 영속성 전이를 사용하면, 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장할 수 있다는 것이다. 예를들어 음식 테이블 과 고객 테이블이 N : 1 양방향 관계라고 가정한다면 Food 엔티티 @Entity @Table(name = "food") public class Food { @Id @GeneratedValue(strategy =.. 2024. 1. 30.