当我们因业务需求需要建立连表关系时,也常常伴随着级联操作的需求,本文以最简单的业务为例,阐述如何优雅、高效地实现这一需求

现在我们假设有两个表,Student和Class,也就是学生和班级两个表。

Students中需要包含

name

desc

note

id   primer key
name student's name unique

Classes中需要包含

name

desc

note

id   primer key
manager manager's name unique

显然,Classes表是主表,Students表是从表,对于这两个表的操作的主动权在Classes表中Spring Data JPA 连表&级联操作【一、入门体验】

也就是说,我们希望,当我们新增一个班级时,也能自动地新增这个班级里的学生。当我们删除这个班级时,这个班里的学生也要被删除。

使用Spring Data JPA之后,这一操作变得简单起来,无需SQL,仅仅需要在PO(persistent object)的属性上添加合适的注解即可。

Spring Data JPA 连表&级联操作【一、入门体验】

Spring Data JPA 连表&级联操作【一、入门体验】

然后来建立DAO

Spring Data JPA 连表&级联操作【一、入门体验】

Spring Data JPA 连表&级联操作【一、入门体验】

十分简单,DAO中什么也不用写,只要继承个接口,然后指定entity和数据表主键的类型就好。

如此,我们就配置成功了,我们来个测试类测试一下

Spring Data JPA 连表&级联操作【一、入门体验】

Spring Data JPA 连表&级联操作【一、入门体验】

可见,数据已经按我们的需要插入到了MySQL中

Spring Data JPA 的连表操作简单易用,不过要想用好JPA,这其中还有很多门道。

接下来的一段时间内,我将陆续发布关于JPA 的一些博文。

 

相关文章:

  • 2021-06-18
  • 2021-07-15
  • 2022-12-23
  • 2022-12-23
  • 2021-08-26
  • 2021-06-28
  • 2021-06-28
猜你喜欢
  • 2021-12-24
  • 2021-11-20
  • 2021-10-09
  • 2022-12-23
相关资源
相似解决方案