Spring boot 关联实体JPA的最佳方式
我在两个实体之间有一个多通关系,我想知道是否有更好的选项使用现有id保存,例如,在下面的示例中,我应该在json中发送一个公司id,还是首先创建一个角色,然后使用PUT将角色更新为公司id。或者在控制器中找到公司实体,然后在新的角色实体中设置,然后保存它。在这种情况下如何进行Spring boot 关联实体JPA的最佳方式,spring-boot,jpa,kotlin,Spring Boot,Jpa,Kotlin,我在两个实体之间有一个多通关系,我想知道是否有更好的选项使用现有id保存,例如,在下面的示例中,我应该在json中发送一个公司id,还是首先创建一个角色,然后使用PUT将角色更新为公司id。或者在控制器中找到公司实体,然后在新的角色实体中设置,然后保存它。在这种情况下如何进行 @Entity data class Role( val name: String = "", @ManyToOne(fetch = FetchType.LAZY) @Jo
@Entity
data class Role(
val name: String = "",
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "company_id")
val company: Company,
val type: RoleType,
val description: String = ""
)
如果角色的
company
字段是必填的(非空),则需要创建第一个公司,以便可以使用ID或名称或任何外键进行链接。然后首先创建一个公司,然后创建一个与之相关的角色
{
"name" : "Role Name - 1",
"company" : 1, // or "Company-"
"type" : "Type - 1",
"description" : "This a test description"
}
我懂了。。这就是问题所在,如何与外键链接?当收到公司Id=1时,我是否需要搜索Id=1的公司实体?或者JPA有办法理解公司Id并正确保存?