Spring JPA [활용] 정리1

신재원·2023년 2월 4일
0

Spring JPA 활용

목록 보기
7/18

📌 편의 라이브러리

implementation 'org.springframework.boot:spring-boot-devtools'
  • 원래는 파일을 수정한 후 서버를 재시작하여야만 변경된 사항이 적용이됐다.
    • 하지만 해당 파일을 build.gradle의 dependencies에 추가후 서버를 재시작 할 필요없이 Recompile만 하는것만으로도 변경사항이 적용이된다.
    • 번외 : 캐쉬를 없애주고, Reloading을 해준다.

📌 application.properties vs application.yml

  • 두 설정 파일을 동시에 사용하면 X

application.properties 의 예시

spring.h2.console.path=/h2-console
spring.datasource.url=jdbc:h2:~/test
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password

application.yml 의 예시

spring:
  datasource:
   # MVCC = TRUE란 여러개가 접근했을때 빨리 처리가된다.(권장)
    url: jdbc:h2:tcp://localhost/~/jpashop 
    username: sa
    password: 123
    driver-class-name: org.h2.Driver


  jpa:
    hibernate:
      ddl-auto: create

    properties:
      hibernate:
      #      show_sql: true  # sout으로 SQL이 찍힌다.
      format_sql: true

logging.level:
# hirbernate, Jpa가 생성하는 sql문이 "로그"로 찍힌다.
  org.hibernate.SQL: debug  
#  org.hibernate.type: trace # log로 value가 찍힌다.
  • 취향차이 이긴하지만 설정 파일들이 많아지고 복잡해지면 yml이 편하다.

📌 커맨드와 쿼리를 분리하라

  • Command (명령) : 상태를 변경한다.
  • Query (조회)
  • Member로 반환하지않고, 커맨드와 쿼리를 분리하기위해 Long 타입으로 반환하였다.
    • 메서드의 역할을 정확하게

엔티티 설계

  • 일대다 관계에서는 '다' 쪽에 외래키가 존재함으로 연관관계 주인이다. (JoinColumn 사용)

0개의 댓글