본문 바로가기

jpa4

[JPA] JPA 쿼리 로그 및 파라미터 바인딩 확인하기 (SpringBoot3 버전) JPA 를 공부하면, 아래와 같은 설정을 많이 보게됩니다. 아래 설정은 JPA 에서 실행하는 쿼리를 IDE console 창에 출력해서 쿼리를 확인하기 위해 사용합니다. # application.yml spring: jpa: show-sql: true properties: hibernate: format_sql: true use_sql_comments: true logging: level: org.hibernate.type: trace 위 처럼 application.yml(혹은 application.properties) 를 적용하면, 아래처럼 JPA 에서 발생하는 쿼리와 파라미터를 볼 수 있습니다. 그런데.... 당연히 이렇게 알고... 새로운 프로젝트에 동일하게 세팅했음에도.... 파라미터 바인딩 로그.. 2023. 7. 8.
[JPA] @AttributeOverrides 와 @Embedded 로 간결한 도메인 객체 만들기 1. 너무 많은 필드를 보유한 도메인 객체 사이드 프로젝트로 쇼핑몰을 개발하던 중, 사용자 정보를 가지는 도메인 객체에 필드가 아래와 같이 많아졌습니다. @NoArgsConstructor(access = AccessLevel.PROTECTED) @Getter @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(length = 20, nullable = false) private String userName; @Column(length = 30, unique = true, nullable = false) private Str.. 2023. 7. 6.
[QueryDSL] SpringBoot3 버전 QueryDSL 설정하기 JPA 혹은 Spring Data JPA 를 사용해서 프로젝트를 진행하다 보면, 특정 경우에서 오는 불편함을 지울 수 없습니다. 예를 들면, 검색쿼리 같이 조건문이 여러 조합으로 되는 경우나, Entity 를 조회하는 것이 아닌 DTO를 조회하는 경우 등과 같은 경우가 있습니다. 이런 단점을 보완하기 위해, JPA를 사용하는 곳에선 QueryDSL 을 같이 사용하는 곳이 많다고 합니다. 저 또한, QueryDSL 을 사용하면서 사이드 프로젝트를 진행하는데, 설정방법을 매번 찾아보기 번거로워 블로깅해봅니다. 0. 구성환경 QueryDSL 에서는 maven 에 대한 가이드는 제공하면서... gradle에 대한 가이드는 제공해주지 않습니다... (이유는 모르겠슴돠...ㅠ 아시는 분 댓글 부탁드려용 ㅎ) 그래서.. 2023. 6. 30.
[DDD] 주문 애그리거트 구현하기(with JPA) 본 포스팅은 DDD 를 공부하면서 정리하기 위한 포스팅입니다. 출처: 도메인 주도 개발 시작하기 - DDD 핵심 개념 정리부터 구현까지 (저자. 최범균) 이번 포스팅에선 쇼핑몰 도메인의 일부분인 주문 도메인을 애그리거트 개념을 설명하면서 코드로 어떻게 구현될 수 있는지를 알아보겠습니다. 설명의 기준은 Spring 과 JPA를 예시로 적용할 것이므로 간단하게 프로젝트 세팅 방법부터 알아보겠습니다. 0. 준비하기 - 프로젝트 세팅 및 설정 추가하기 스프링 프로젝트를 생성할 때 저는 https://start.spring.io/ 페이지를 이용합니다. 해당 URL 로 접속하면 아래와 같은 화면이 나타납니다. https://start.spring.io/ 위 화면에서 아래 순서로 설정해주시면 됩니다. 가장 기본으로 .. 2023. 6. 3.