基于Hibernate用标注(annotations)描述映射关系
实体类型用标注:@Entity
实体对应的表用标注:@Table
映射实体类中表示主键的属性的标注是:@Id
映射实体类中表示普通属性的标注是:@Basic
实体属性对应的列用表注:@Column
标注暂态属性(不映射到库中):@Transient
映射一对一关联关系的标注是:@OneToOne
映射多对一关联关系的标注是:@ManyToOne
映射多对多关系的标注是:@ManyToMany
描述单一外键列用标注:@JoinColumn
连接表用表注:@JoinTable
如果一个类型不是实体,但他是某个实体的组成部分,我们用标注:@Embeddable
在描述继承关系时,用标注:@Inheritance,该标注的属性strategy 用来指定映射策略
代表双向关联关系时表示不维护表中外键关系的标注属性名是:mappedBy
代表级联操作的属性名是:cascade
使用乐观锁是我们通常会在实体类型中增加一整型属性,该属性用标注:@Version
描述主键生成机制的JPA标注是:@GeneratedValue
用法:
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEQ_COMMONS_WJ")
@javax.persistence.SequenceGenerator(name = "SEQ_COMMONS_WJ", sequenceName = "SEQ_COMMONS_WJ")
@Column(name = "PID", updatable = false)
public Long getPid() {
return this.pid;
}