본문으로 바로가기

JPA 1

category IT/SpringDay 2022. 8. 30. 23:35

< JPA를 잘하고 싶은 이유 >

→ 구글 트렌드에서 JPA와 mybatis를 비교 검색해보니

     mybatis의 사용량이 5년 전에는 jpa 보다 월등히 높았으나 최근 jpa 가 급상승하면서 mybatis를 제침.

    그리고 이미 국외(전세계)에서는 jpa가  월등하게 높은 것을 확인 할 수 있었다.

    그래서 잘하고 싶음.

 

 

< 애플리케이션 아키텍쳐 >

 

controller : url로 보낸 요청을 받고, 응답(지정된 뷰에 모델 객체를 넘겨주는 역할)

service : 비즈니스 로직, 트랜잭션 처리

repository : DB 연결, JPA/엔티디 매니저 사용

domain : Entity   -> 테이블 생성이라고 생각하자.

 

 

< domain 설계 >

예) 

@Entity : 테이블과 매핑할 클래스.  name을 사용하여 이름 지정,  default 클래스명

@Id : 키본키 설정

@GeneratedValue :  db 자동 생성.  

@Column : db 테이블 컬럼 맵핑(name : 생성된 테이블 컬럼명)

@Embedded : 복합 값 타입

 

@OneToMany : 일대다 단반향 맵핑, 한회원이 주문을 내역을 여러개 가짐

 

이렇게 Entity를 생성한 후

.yml에 jpa 설정해주면

ddl-auto: create : 기존 테이블 삭제 후 다시생성

format_sql: true  hibernate이 DB에 날리는 모든 쿼리를 보여줌.

  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
          # show_sql: true
          format_sql: true

'IT > SpringDay' 카테고리의 다른 글

API  (0) 2022.08.25
Mybatis③ - mailSender  (0) 2022.05.30
Mybatis②  (0) 2022.05.30
Mybatis①  (0) 2022.05.29
06.JpaApi②  (0) 2022.05.24