더북(TheBook)

도메인 정의

이 애플리케이션의 중심이 되는 도메인 개념은 독자의 독서 목록인 책이다. 따라서 책을 나타내는 엔티티를 정의해야 한다. 코드 2-5는 Book 타입의 정의를 보여 준다.

 

코드 2-5 독서 목록에서 책을 표현하는 Book 클래스

package readinglist;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Book {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long id;
    private String reader;
    private String isbn;
    private String title;
    private String author;
    private String description;
 
    public Long getId() {
        return id;
    }
 
    public void setId(Long id) {
        this.id=id;
    }
 
    public String getReader() {
        return reader;
    }
 
    public void setReader(String reader) {
        this.reader=reader;
    }
 
    public String getIsbn() {
        return isbn;
    }
 
    public void setIsbn(String isbn) {
        this.isbn=isbn;
    }
 
    public String getTitle() {
   return title;
    }
 
    public void setTitle(String title) {
        this.title=title;
    }
 
    public String getAuthor() {
        return author;
    }
 
    public void setAuthor(String author) {
        this.author=author;
    }
 
    public String getDescription() {
        return description;
    }
 
    public void setDescription(String description) {
        this.description=description;
    }
 
}

 

이처럼 Book 클래스는 책을 표현하는 프로퍼티와 접근자 메서드(Accessor Method)가 있는 간단한 자바 객체다. Book 클래스에 @Entity 애너테이션을 붙여 클래스를 JPA 엔티티로 지정했다. id 필드에는 @Id@GeneratedValue 애너테이션을 붙여 엔티티의 유일성을 식별하고, 자동으로 값을 제공하는 필드로 지정했다.

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