Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

스파르타 부트캠프 Spring Master 2강 Entity이해하기 본문

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에게 위임이 가능하다.

반응형