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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容