Notice
Recent Posts
Recent Comments
Link
개발일지
JPA 본문
JPA
- ORM( Object Relational Mapping )으로, RDB 데이터 베이스의 정보를 객체지향으로 손쉽게 활용할 수 있도록 도와주는 도구이다.
- Object( 자바객체 )와 Relation( 관계형 데이터베이스 ) 둘간의 맵핑을 통해서보다 쉽게 적용할 수 있는 기술을 제공한다.
- 또한 Query에 집중하기보다는 객체에 집중함으로써, 조금 더 비즈니스 모델에 집중할 수 있다.
Entity
Camel Case : 단어를 표기할 때 첫 문자는 소문자로 시작하며 띄어쓰기 대신 ( 대문자 )로 단어를 구분 Java의 변수를 선언할 때 camelCase로 선언한다.
- ex) phoneNumber, createdAt, updatedAt
Snake Case : 단어를 표기할 때 모두 소문자로 표기하며, 뛰어쓰기 대신 ( _ )로 표기 DB 컬럼에 사용
- ex) phone_number, created_at, updated_at
API를 정의에 따라 다르지만, 주로 API통신 규격 구간에서는 Snake Case를 많이 사용
Entity : JPA에서는 테이블을 자동으로 생성해주는 기능 존재.
DB Table == JPA Entity
Annotation 용도 @Entity 해당 Class가 Entity임을 명시 @Table 실제 DB테이블의 이름을 명시 @Id Index Primary key를 명시 @Column 실제 DB Column의 이름을 명시 @GeneratedValue Primary key 식별키의 전략 설정 JPA의 Entity 및 Column은 자동으로 camel case -> DB의 snake_case에 매칭 시켜준다.
Repository
- 따로 쿼리문을 작성하지 않아도 기본적인 CRUD를 생성해준다.
- CREATE : 생성
- READ : 읽기 (SELECT)
- UPDATE : 업데이트
- DELETE : 삭제
JPA 연관관계 설정
관계 Annotation 일대일 @OneToOne 일대다 @OneToMany 다대일 @ManyToOne 다대다 @ManyToMany
'JPA' 카테고리의 다른 글
JPA Relation 속성 (0) | 2020.01.09 |
---|
Comments