bu_kwon.log
로그인
bu_kwon.log
로그인
[스프링부트] Entity
Kwon
·
2023년 11월 21일
팔로우
0
Spring
annotation
스프링부트
목록 보기
2/12
Entity
Entity?
데이터베이스 테이블과 매핑되는 자바 클래스를 말함
데이터베이스처럼 속성들 구성 가능하다.
Example
@Entity
테이블과 링크될 클래스
@Id
id 속성을 기본 키로 지정하는 어노테이션
id를 데이터베이스에 저장할 때 동일한 값으로 저장할 수 없음 (메인 키는 유일성 존재)
@GeneratedValue
데이터를 저장할 때 마다 자동으로 1씩 증가 (DB에서
AUTO_INCREMENT
와 동일한 의미)
괄호 내
strategy
는 고유번호를 생성
GenerationType.IDENTITY
는 해당 컬럼만의 독립적인 시퀀스를 생성하여 번호를 증가시킬 때 사용
@Column
컬럼의 세부설정을 위해 사용하는 어노테이션
length
는 컬럼의 길이를 설정할 때 사용
columnDefinition = “TEXT”
는 내용처럼 글자 수를 제한할 수 없는 경우에 사용
엔티티 속성은 어노테이션 사용하지 않더라도 테이블 컬럼으로 인식하는데, 열 기준으로 인식하고 싶지 않은 경우엔
@Transient
를 사용하면 됨
@OneToMany & @ManyToOne
각각의 엔티티간 관계를 표현하는 어노테이션
질문 게시판을 예로 들면 한 질문엔 여러 답변이 달릴 수 있기에 참조 어노테이션 생성
(@ManyToOne)
반면, 답변자들 입장에선 다수의 답변자가 하나의 질문에 답변을 하니
@OneToMany
사용
mappedBy
는 참조 엔티티의 속성명을 의미
Answer 엔티티에서 Question 엔티티를 참조한 속성명을 question을 mappedBy에 전달
CascadeType.REMOVE
를 사용함으로써 질문 삭제 시 답변들 연쇄 삭제 가능
교육 참조 :
링크텍스트
Kwon
📲 @bu_kwon_2 / 💻 dnu05043.log / ⌨ Back-end / 🦁 LikeLion
팔로우
이전 포스트
[스프링부트] @Controller @GetMapping @ResponseBody
0개의 댓글
댓글 작성