非常简单的一对多关系 - 一个人对应多个宠物。
@Entity
class Human{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(mappedBy="human", cascade={CascadeType.ALL})
private List<Pet> pets;
// other fields
}
@Entity
class Pet{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="human_id")
private Human human;
// others fields
}
这将会创建两张数据表 HUMAN(id) 和 PET(id, human_id),与IT技术有关。 EDIT-1: 我正在使用Spring Data Rest。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
编辑-2: 这里是我发布数据的更新情况。而且我是发布给人类看的。
{
// human data
"pets": [
"http://localhost/pets/1",
"http://localhost/pets/2"
]
}
问题:PET表中的human_id列为空。所有其他字段都是正确的,但关系没有建立。
我错过了什么吗?