Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Entity
- 자바
- 자료구조
- Til
- wil
- 코딩
- Java
- HTML
- Spring
- 코딩공부
- 항해99
- Grafana
- CS
- aop
- 이진 탐색(binary search)
- 99클럽
- css
- 면접(java
- cs 공부)준비
- 메서드
- 코딩문제
- 정렬 알고리즘(sort algorithm)
- 배열
- github
- ArrayList
- 회고
- GIT
- 코딩테스트 준비
- 개발자 취업
- 프로그래머스
Archives
- Today
- Total
hayu's 개발 일지
[TIL]240301 스프링 부트와 AWS로 혼자 구현하는 웹서비스: JPA 본문
JPA
- 객체 지향 프로그래밍 언어와 관계형 데이터 베이스를 중간에서 패러다임 일치 시켜주기 위한 기술이다.
패러다임 불일치의 예
User user = findUser();
Group group = user.getGroup();
- User 와 Group 은 부모 - 자식 관계이지만 데이터 베이스에서는 각각 따로 조회하게 된다.
JPA 란?
- 인터페이스로서 자바 표준 명세서이다.
- ORM(Object-Relational Mapping) 기술 표준으로 사용되는 인터페이스의 모음이다.
- JPA를 사용하면 객제와 관계형 데이터베이스 간의 매핑을 쉽게 처리할 수 있다.
JPA를 사용했을 때 Entity 클래스에서 많이 쓰이는 에너테이션
@Entity
- jpa의 어노테이션이다.
- 테이블과 링크될 클래스임을 나타낸다.
- 기본값으로 카멜케이스 이름을 언더스코어(_) 네이밍으로 테이블 이름을 매칭한다.
@Id
- 테이블의 PK필드를 나타낸다.
- PK(PRIMARY KEY) : 행의 고유 식별 역할
@Column
- 테이블의 칼럼을 나타낸다. 기본값 외에 추가로 변경하고 싶은 내용이 있을 때 사용한다.
@NoArgsConstructor
- 기본 생성자 자동 추가 역할을 한다.
@Getter
- 클래스 내에 모든 필드에 Getter 메소드 자동생성한다.
- Entity 클래스에서는 Setter 메소드를 만들지 않는다. - 해당 클래스의 인스턴스 값들이 언제 어디서 변해야 하는지 코드상으로 명확하게 구분이 안됨. 차후 기능 변경 시 복잡해짐.
→ 생성자를 통해 public 메소드 호출해서 사용.
'스터디 > spring' 카테고리의 다른 글
[TIL]240419 Prometheus & Grafana (1) | 2024.04.19 |
---|---|
[TIL]240405 extends, implements 차이 (0) | 2024.04.05 |
[TIL]240329 스프링 부트와 AWS로 혼자 구현하는 웹서비스: -5장 스프링 시큐리티 & 인증, 인가 (3) | 2024.03.29 |
[TIL]240322 스프링 부트와 AWS로 혼자 구현하는 웹서비스: -4장 머스테치 & CRUD (1) | 2024.03.22 |
[TIL]240315 스프링 부트와 AWS로 혼자 구현하는 웹서비스: -3장 JPA (0) | 2024.03.15 |