Save and Update
要存储拥有一对一关系(双向)的实体,作以下操作:
因为依赖关系,我们需要先存储 Student
:
存储 Student
时,我们不希望前端设置 id
,因为 id
是由 Hibernate 自动生成才对。同时,我们不希望在此时存储 Tuition
,因为 Tuition.student_id
依赖于 Student
的 id
,而 Student
的 id
还未经自动生成,所以无法对 Tuition.student_id
赋值。
然后,我们可以存储 Tuition
信息:
虽然 Hibernate 和 Spring Data JPA 已经非常智能,我们仍然需要自己维护依赖关系。
我们先从数据库拉取 studentId
对应的 Student
实体对象,将其 tuition
设置为传参进来的 tuition
,同时把 tuition
的 student
也设置为拉取的 student
。这样一来一对一关系就被我们维护的很好了,而 Tuition
的 id
为自动生成,不应该指定。
由于 student
和 tuition
都各自拥有关系的全部信息,所以 save(student)
或者 save(tuition)
都是可以的。
最后更新于