JPA 쓰다보면 Entity 결과를 DTO 에 담아서 리턴해주는게 좋은데일일이 수작업으로 넘겨주는 방법도 있고 라이브러리로 매핑해주는 방식도 있는데간단한 결과야 수작업으로 담아서 리턴해주겠지만...리턴 데이터가 많을 경우엔 실수 할 확률이 매우 높아 엉뚱한 값에 매칭할 수도 있다.이런 수작업을 해결해 줄 ModelMapper 와 Mapstruct 매핑 라이브러리가 있는데 사용적인 면이나 성능면이나 이슈면에서 Mapstruct 가 이점이 더 많은 것 같아 Mapstruct 를 써보려고 한다. List sampleList = sampleRepository.findAll();// ModelMapperList sampleResult = sampleList.stream() .map(sampleEntity ..
JPA JPQL 을 사용하던 도중 QueryDSL 로 쿼리를 짜보고 싶어 셋팅해봄. SPRING DATA JPA 레퍼런스에 queryDSL이 언급은 되는데 설정하는 방법 같은 건 딱히 없어서 블로그들 참고하여 com.ewerk.gradle.plugins.querydsl 플러그인 방식으로 셋팅해봄. * gradle 버전차이 인지는 모르겠는데 annotationProcessor 방식으론 이클립스에서 정상 동작 하지 않음. 먼저 build.gradle에 셋팅을 해줘야 한다. 내 현재 프로젝트 build.gradle은 아래와 같다. plugins { id 'java' id 'org.springframework.boot' version '2.7.5' id 'io.spring.dependency-manageme..
Entity 클래스에 @Table 어노테이션 name을 대문자로 지정했는데 JPA에서는 소문자로 받는 상황 그래서 해당 테이블이 존재하지 않는다고 에러 발생 중인 상황 ;; (ddl-auto : validate 로 했을시) @Entity @Table(name="TB_USER", schema = "public" ) @NoArgsConstructor @Getter public class User { @Column(name="user_name") private String userName; @Id @Column(name="user_email") private String userEmail; @Column(name="user_age") private int userAge; } Entity 클래스는 다음과 같..