@Controller控制器
@Service
@Conponent 组件
@Repository Dao访问层
@Entity 实体
@Table 实体mapping表
@Column 属性mapping列 ----> 不需要Mapping的时候用@Transient
@Id mapping主键属性,可以将Entity中的某个属性标识为标识符(identifier)。可通过应用自身创建,也可以由Hibernate生成。
@Genarated value 标识符的生产策略。
*AUTO 可以是一下三种任意一种类型,取决于底层数据库的不同
*TABLE 使用table保存id值
*IDENTITY identity column 主键由数据库自动生成(主要是自动增长型,像MySql、SQL Server)
*SEQUENCE sequence (Oracle主键不能自增长,使用Sequence)
@Id
@GeneratedValue(strategy = GenerationType.IDENTITy)
Public Integer getId() {… …}
@Id
@GeneratedValue(generator = "system-uuid")[该属性名自定义]
@GenericGenerator(name = " system-uuid ", strategy = "uuid")
[name可自定义,但是strategy属性必须是Hibernate中有效的主键策略]
@Column (name = "user_id")
private Integer userId;
@Id
@GeneratedValue(generator = "hilo")
@GenericGenerator(name = "hilo", strategy = "hilo")
@Column (name = "user_id")
private Integer userId;
@mappedBy用法
mappedBy用于OneToMany、ManyToMany、OneToOne,指由另一方维护两者的关系。
注解分为两类,分别是Logical mapping和Physical mapping,通过Logical mapping可用描述对象模型,类之间的关系等等,而Physical mapping注释则描述了物理的schema,表,列,索引等等。