Spring6 Spring Boot 에서 Dto들 관리 Spring Boot 에서 Dto 관리 프로젝트 하다보면 요청과 응답 Dto들이 무분별하게 만들어져서 , 매우 너저분할때가 있다 ㅠ. 무수하게 많은 Dto들을 관리하고 싶은 충동이 일어난다. 그래서 Dto 디자인에 관해 찾아보았고 , 이를 정리하고자 한다. 왜 해야 하는가? 화면별로 요구하는 데이터들 달라 Dto들이 많아지게 된다. 엔티티들을 화면 요구에 맞추다보면 , 엔티티 하나 코드량이 많아지게 온갖 요구들을 담게되는 잡동사니와 같은 결과를 낳게 된다. 이렇게 무수히 많은 Dto들을 손쉽게 관리하기 위해서 Dto를 Inner Class로 만들도록 하자. package com.webservice.bookstore.web.dto; import lombok.*; import javax.validation... 2021. 3. 25. [스프링 데이터 JPA] 6. Auditing Auditing 엔티티를 생성, 변경할때 변경한 사람과 시간을 알고 싶으면 스프링 데이터 jpa는 이를 손쉽게 알려준다. 등록일 수정일 등록자 수정자 스프링 부트 설정 클래스 package study.datajpa; import ...; @EnableJpaAuditing @SpringBootApplication public class DataJpaApplication { public static void main(String[] args) { SpringApplication.run(DataJpaApplication.class, args); } @SpringBootApplication 이 있는 클래스에 @EnableJpaAuditing 을 적용해줘야한다. 그리고 나서 사용하는 어노테이션은 @CreatedD.. 2020. 12. 21. [스프링 데이터 JPA] 5. EntityGraph EntityGraph 스프링데이터 JPA에서는 페치 조인 2가지 방법을 이용할 수 있다. @Query 를 이용한 페치 조인과 EntityGraph 를 사용하는 것이다. JPQL 페치 조인 @Query("select m from Member m join fetch m.team t") List findMemberFetchJoin(); EntityGraph 스프링 데이터 JPA 인터페이스를 오버라이드해서 사용 @Override @EntityGraph(attributePaths = {"team"}) List findAll(); JPQL + 엔티티 그래프 @EntityGraph(attributePaths = {"team"}) @Query("select m from Member m") List findMemberE.. 2020. 12. 17. [스프링 데이터 JPA] 4. 벌크성 수정 쿼리 벌크성 수정 쿼리 JPA에서는 영속성 컨텍스트를 거쳐서 DB로 쿼리가 flush 되고 커밋된다. 그러나 벌크성 수정쿼리는 다르다. 벌크성 수정 쿼리는 영속성 컨텍스트를 거치지 않고 곧바로 DB로 update 쿼리가 날라간다. JPA를 사용한 벌크성 수정 쿼리 public int bulkAgePlus(int age) { int resultCount = em.createQuery("update Member m set m.age = m.age + 1 where m.age >= :age") .setParameter("age", age) .executeUpdate(); return resultCount; } 스프링 데이터 JPA에서의 벌크성 수정 쿼리 @Modifying @Query("update Member m.. 2020. 12. 17. 이전 1 2 다음