반응형
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 | 31 |
Tags
- 인터셉터의 정의
- spring
- MVC
- filter vs interceptor
- 구글 보안 api 활용
- SAP
- BindingResult
- SpringMVC
- for all entries in
- n+1
- jpa
- springSecurityFilterChain 오류
- 세션이란
- java.lang.AssertionError
- 필터의 정의
- Testcode
- spring MVC
- 김영한
- @Controller
- 쿠키란
- 쿠키의 정의
- abap value in field Data Class error
- application-properties
- optional
- controller
- abap
- 401오류
- .orelseThrow
- 필터vs인터셉터
- Validation
Archives
- Today
- Total
SAP공장
@Table과 @Column 의 차이 본문
반응형
객체와 DB 사이의 매핑시 @Entity @Table
필드와 컬럼 매핑시 @Column
기본키 매핑시 @Id + @GenerateValue
연관관계 매핑 @ManyToOne , @JoinColumn
나는 @Column 과 @Table의 구분이 어려웠다.
따라서 @Table은 DB의 Real 테이블 명을 설정하는데 사용한다. =>"대장 역할"
@Column 은 테이블 내의 필드명을 설정하는 데에 사용한다 = > "쫄병 역할"
예시)
엔티티(JAVA) | 테이블 (DB) |
Member | mrd |
id : String | member_id |
name :String | name |
city : String | city |
street : String | street |
zipcode :String | zipcode |
큰 틀에서 Member 엔티티에 다름과 같이 있다고 가정하자.
큰 틀에서 Member 엔티티는 DB에서는 mrd라고 표현해야한다면
@Table(name = "mrd")를 하면
Entity에서의 Member 가 db 에서는 mrd로 저장이 된다,
Member 엔티티속의 id 는 java 에서는 id로 기록되어있지만 DB에는 member_id로 들어가야한다.
그러면
@Column(name = "member_id")를 하면
DB속 mrd 테이블에 id가 member_id로 저장이 된다.
반응형
'[WEB]Back-end > JPA' 카테고리의 다른 글
JPA Proxy가 뭐야? 왜 사용해? (0) | 2022.01.13 |
---|---|
다양한 연관관계 매핑 (0) | 2022.01.10 |
@Inheritance(strategy = Inheritance.Type.JOINED) 전략 (0) | 2022.01.08 |
@joinColumn, @mappedby, 양방향 Mapping시 주의해야할점 (0) | 2022.01.07 |
JPA 정리_영속성 컨텍스트 (0) | 2022.01.01 |
Comments