더북(TheBook)

코드 5-8 라이선스 레코드에 대한 JPA 모델 코드

package com.optimagrowth.license.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

import org.springframework.hateoas.RepresentationModel;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;


@Getter @Setter @ToString
@Entity 
@Table(name="licenses") 
public class License extends RepresentationModel<License> {
    @Id 
    @Column(name="license_id", nullable=false) 
    private String licenseId;
    private String description;
    @Column(name="organization_id", nullable=false)
    private String organizationId;
    @Column(name="product_name", nullable=false)
    private String productName;
    @Column(name="license_type", nullable=false)
    private String licenseType;
    @Column(name="comment")
    private String comment;

    public License withComment(String comment) {
        this.setComment(comment);
        return this;
    }
}

➊ 이 클래스가 JPA 클래스라고 스프링에 알린다.

➋ 데이터베이스 테이블에 매핑한다.

➌ 이 필드를 기본 키(primary key)로 지정한다.

➍ 필드를 데이터베이스의 특정 컬럼으로 매핑한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.