< 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 |