package org.springside.examples.bootapi.domain; import java.util.Date; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import org.apache.commons.lang3.builder.ToStringBuilder; // JPA实体类的标识 @Entity public class Book { public static final String STATUS_IDLE = "idle"; public static final String STATUS_REQUEST = "request"; public static final String STATUS_OUT = "out"; // JPA 主键标识, 策略为由数据库生成主键 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public Long id; public String doubanId; public String title; public String url; public String status; @ManyToOne @JoinColumn(name = "owner_id") public Account owner; public Date onboardDate; @ManyToOne @JoinColumn(name = "borrower_id") public Account borrower; public Date borrowDate; public Book() { } public Book(Long id) { this.id = id; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }