Spring
스파르타 부트캠프 Spring Master 2강 Entity이해하기
H.S-Backend
2024. 5. 22. 20:18
반응형
Entity란
JPA에서 관리되는 클래스이며 객체를 의미한다.
Entity클래스는 DB의 테이블과 매핑되어 JPA에 의해 관리된다.
@Entity // JPA가 관리할 수 있는 Entity 클래스 지정
@Table(name = "memo") // 매핑할 테이블의 이름을 지정
public class Memo {
@Id
private Long id;
// nullable: null 허용 여부
// unique: 중복 허용 여부 (false 일때 중복 허용)
@Column(name = "username", nullable = false, unique = true)
private String username;
// length: 컬럼 길이 지정
@Column(name = "contents", nullable = false, length = 500)
private String contents;
}
@Entity
- JPA가 관리할 수 있는 Entity클래스로 지정할 수 있다.
@Table
- 매핑할 테이블 지정
@Column
- 필드와 매핑할 테이블의 컬럼을 지정할 수 있다.(default : 객체의 필드명이된다)
- 데이터의 null값 허용 여부 지정이 가능하다 (nullable = false)
- 데이터의 중복 값 허용 여부를 지정할 수 있다.(unique =true) 기본은 false다.
- 데이터 값 (문자)의 길이에 제약 조건을 걸 수있다 (length = 500) 기본은 255이다.
@Id
- 테이블의 기본 키를 지정해준다.(식별자 역할 수행하고 넣어주지않으면 오류가 발생한다)
@Entity // JPA가 관리할 수 있는 Entity 클래스 지정
@Table(name = "memo") // 매핑할 테이블의 이름을 지정
public class Memo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
// nullable: null 허용 여부
// unique: 중복 허용 여부 (false 일때 중복 허용)
@Column(name = "username", nullable = false, unique = true)
private String username;
// length: 컬럼 길이 지정
@Column(name = "contents", nullable = false, length = 500)
private String contents;
}
@GeneratedValue 옵션 추가시 기본 키 생성을 DB에게 위임이 가능하다.
반응형