SAP공장

@Table과 @Column 의 차이 본문

[WEB]Back-end/JPA

@Table과 @Column 의 차이

ABAP,ODATA,BTP 2022. 1. 4. 10:53
반응형

객체와 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로 저장이 된다. 

반응형
Comments