在前面学习了基于配置文件的多对一关系,而在实际的开发过程中我们更多的是使用注解去开发。在这里来简单学习一下基于注解的多对一关系。

1. 创建所需要的实体

Hibernate 多对一注解-LMLPHP

Hibernate 多对一注解-LMLPHP

  注:这里需要特别注意的是,如果使用的是mysql的数据库的话使用id自增长是没有问题,但是如果使用的是oracle数据库的话就需要使用到oracle的序列sequence,在文档中式这样写的。

    sequence调用谨慎数据库的序列来生成主键,要设定序列名,不然hibernate无法找到。

    列如:

Hibernate 多对一注解-LMLPHP

2.在多对端设置映射

  在多对端加入字段,设置关联映射:

Hibernate 多对一注解-LMLPHP

3.在hibernate.cfg.xml中加入映射的类

Hibernate 多对一注解-LMLPHP

4.生成表

Hibernate 多对一注解-LMLPHP

  sql语句:

Hibernate 多对一注解-LMLPHP

5.保存数据

Hibernate 多对一注解-LMLPHP

  sql语句:

Hibernate 多对一注解-LMLPHP

  发现是2条insert语句,说明插入成功。

6.双向多对一

  如果是双向的多对一则需要在Categroy中加入hashSet

Hibernate 多对一注解-LMLPHP

  注:需要注意的是在加入OneToMany时需要指定由那张表去管理关系,一般为多端的属性,否则会多出一张关联映射表。

注:本文是在学习期间根据网上视频写的学习笔记,如有侵权请联系删除!

05-11 17:04