@Entity(name="school")
public class Student {
// fields, getters and setters
}
@Id
定义一张数据表的主键
若为自动生成,可选择4中策略:AUTO, TABLE, SEQUENCE, or IDENTITY.
如果定义为AUTO,JPA会自动选择任何一个策略来生成主键
@Entity
public class Student {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String name;
// getters and setters
}
@Table
定义数据库中数据表的名称:
@Entity
@Table(name="STUDENT")
public class Student {
// fields, getters and setters
}
也可定义schema名称:
@Entity
@Table(name="STUDENT", schema="SCHOOL")
public class Student {
// fields, getters and setters
}
@Column
规定数据表中每一列(每一个字段)的详情
可取值:name, length, nullable, unique
@Entity
@Table(name="STUDENT")
public class Student {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(name="STUDENT_NAME", length=50, nullable=false, unique=false)
private String name;
// other fields, getters and setters
}
@Transient
使得数据字段为短暂存在的(非持久化)。也就是该数据字段不会存到数据表里。
@Entity
@Table(name="STUDENT")
public class Student {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(name="STUDENT_NAME", length=50, nullable=false)
private String name;
@Transient
private Integer age;
// other fields, getters and setters
}