👩‍💻 개발

    [SpringBoot/JPA] 무한 참조 및  type definition error: (simple type) 문제

    [SpringBoot/JPA] 무한 참조 및 type definition error: (simple type) 문제

    https://ahndding.tistory.com/24 [JPA] FetchType.Lazy로 인한 JSON 오류 (InvalidDefinitionException: No serializer found for class) 발단 Front에서 엔티티를 저장하는 과정에서 처음 데이터를 저장하는 순간에는 올바르게 작동하지만 수정(edit)하고 저장할 때에는 에러(HttpStatus 500)를 리턴한다는 문제가 발생했다. (다만 DB상으 ahndding.tistory.com https://blog.naver.com/adamdoha/222214494979 @OneToOne 무한 참조 문제 또는 hibernateLazyInitializer 또는 byteBuddy~ 문제 대략 다음과 같이 연관관계가 맺어진 Orde..

    [Spring/Jpa] @Default 설정

    [Spring/Jpa] @Default 설정

    Jpa를 이용하면서 디폴트 값을 어떻게 주지?라는 생각을 한 적 이 있다. 열심히 구글링 해본 결과를 적어보고자 한다. 1. 특정 조건이 없는 Default public class Chat{ ... @Column(columnDefinition = "VARCHAR(255) default '익명'") private String name; } @Column 어노테이션을 이용한 방법으로 아래와 같은 공식으로 작성하면 된다. @Column(columnDefinition = "자료형 default 원하는 값") 하지만 이와 같은 방법은 생성자에 해당 값을 빈칸으로 놔두게 되면 null로 들어가게 된다. 2. null 인 경우에만 Default @PrePersist public void prePersist(){ th..

    [Spring/Java] @Builder / 빌더패턴

    [Spring/Java] @Builder / 빌더패턴

    이번 플젝을 하다가 @Builder 어노테이션을 알게 되어 한번 정리해보고자 한다. 1. 빌더패턴 이란? 생성과 관련된 디자인 패턴으로, 동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법으로 필수 값에 대해서는 생성자를 통해, 선택적인 값들에 대해서는 메소드를 통해 step-by-step으로 값을 입력받은 후에 build() 메소드를 통해 최종적으로 하나의 인스턴스를 return 하는 방식이다. -1) 정의 GoF 디자인 패턴 중 생성 패턴에 해당 빌더 패턴은 복잡한 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을 생성하는 방법 제공 생성해야하는 객체가 Optional 한 속성을 많이 가질 때 더 좋음. 쉽게 말해 생성자에서 인자가 많을때 고려해볼 수 ..

    [Spring/Java] modelMapper

    [Spring/Java] modelMapper

    1. modelMapper 란? "서로 다른 클래스의 값을 한 번에 복사하게 도와주는 라이브러리" 어떤 Object(Source Object)에 있는 필드 값들을 자동으로 원하는 Object(Destination Object)에 Mapping 시켜주는 라이브러리이다. 그렇다면 왜 사용할까? DTO와 같은 클래스로 데이터를 받은 후 원하는 클래스(엔티티)에 넣어줄 때, 하나씩 넣어준다면? 이때 문제가 발생한다. 매우 귀찮다. 실수가 발생할 수 있다. 이런 단점들을 해결하기 위한 라이브러리이다. 다시 말해 repository에서 사용하는 entity class형태와 필드 대부분 동일하지만 다른 형태로 구성되어 있어 entity와 dto의 변환에 사용하는 것이다. 2. modelMapper 세팅 -1) 의존성..

    [SpringBoot] Jpa Repository와 Querydsl 사용방법

    [SpringBoot] Jpa Repository와 Querydsl 사용방법

    ※ springBoot에 Querydsl설정 방법이 궁금하다면 아래 링크 참조! 2022.08.06 - [기술/Spring] - [SpringBoot] Querydsl 설정 Querydsl 사용방법 3가지 QuerydslRepositorySupport와 JpaRepository 각각 사용 JpaRepository에서 Querydsl 사용 가능하도록 설정하여 사용 상속 없이 Querydsl 사용 1. QuerydslRepositorySupport, JpaRepository 각각 사용 @Repository public class ReviewRepositorySupport extends QuerydslRepositorySupport { private final JPAQueryFactory jpaQueryFac..