코드 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)로 지정한다.
➍ 필드를 데이터베이스의 특정 컬럼으로 매핑한다.