ORM
1. ORM 개념 이해하기
- 데이터 영속성
- Persistence : 프로그램이 종료되었다고 해서 자료가 사라지진 않음
- 종류
- SQL Mapper
- SQL을 개발자가 직접 작성
- 매핑 : 쿼리 수행 결과 ↔ 객체
- DB 종류 변경 시 쿼리 수정 필요
- 비슷한 쿼리를 반복적으로 작성해야 함
- ORM (Object Relation Mapping)
- Object와 DB테이블을 매핑
- java 함수를 사용하면 자동으로 SQL이 만들어짐
- 매핑 : DB테이블 ↔ 객체
- 복잡한 쿼리를 자바 메소드 만으로 해결하는것이 불편
- SQL Mapper
- Persistence Framework
- DB와의 연동되는 시스템을 빠르게 개발하고, 안정적인 구동을 보장해주는 프레임워크
- 장점 :
- 재사용 및 유지보수에 용이
- 직관적인 코드
2. JPA vs JDBC
- JDBC
- SQL Mapper 중 하나
- JPA (Java Persistent API)
- ORM 중 하나 (자바용 ORM)
(추가) GeneratedValue
- GenerationType.AUTO
- 방언에 따라 자동으로 기본 값으로 지정합니다.
- GenerationType.IDENTITY
- 기본 키 생성을 데이터베이스에 위임한다. MySQL에서 많이 씁니다.
- GenerationType.SEQUENCE
- 데이터 베이스 오브젝트를 이용합니다. 데이터베이스 시퀀스를 사용해서 기본 키를 할당합니다. 추가적인 어노테이션으로 @SequenceGenerator 필요합니다. ORACLE에서 많이 사용합니다.
- GenerationType.TABLE
- 별도의 키 생성 테이블을 사용합니다. 모든 DB에서 사용가능합니다. @TableGenerator 필요합니다. ddl-auto가 아닌 경우, 별도의 Table을 생성해야 합니다.
- GenerationType.AUTO
1
2
3
4
5
6
7
8
9
10
11
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Entity(name = "example")
public class Example {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String text;
}
This post is licensed under CC BY 4.0 by the author.