Hibernate注解

类级别注解

@Entity

表示一个实体,对应一个数据库中的表

@Table

用来描述我们生成的这张表的属性,比如表名。

@Embeddable

表明这是一个可以嵌入的类,在其他的表中充当一个属性

属性级别注解

@Id

这个属性注解,用来标注主键

@GeneratedValue

这个属性注解,用来标注主键的生成策略

@Column

对应于数据库中表的哪一行,以及该行的一些属性

@Embedded

用来描述可嵌入的属性类型

@EmbeddedId

用来描述可嵌入的属性类型

@Transient

表示这个字段不会在数据库中生成相应的映射

映射关系注解

2.png

这个是一对一单向外键。可以看到我们是用对象来作为我们的一个属性,但是可以在@JoinColum中指定我们在数据库中保存的是该对象的哪一个属性,这里使用的是pid。(听起来有一些绕)

3.png

这个是一对一双向外键关联。除了上面的配置外,在另一方加上mappedBy="card"。这里的card也就是一对一主控方中的属性。
private IdCard card;
4.png

这个是多对一单向外键关联。这里是多方。
5.png

这个是一对多单向外键关联。这里是一方。
6.png

这个是一对多单向外键关联。这里是一方。这里因为对应对个对象,所以这里持有的是一个set集合对象。
7.png

这里是多对多单向外键关联。生成一个中间表。
单向是指类层面,举个例子,老师类可以知道要教哪些学生,学生不知被哪些老师教 。
8.png

再加上mappedBy,就变成了多对多双向关联。
9.png

11.png

你可能感兴趣的:(Hibernate注解)