Spring boot 关联实体JPA的最佳方式

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

我在两个实体之间有一个多通关系,我想知道是否有更好的选项使用现有id保存,例如,在下面的示例中,我应该在json中发送一个公司id,还是首先创建一个角色,然后使用PUT将角色更新为公司id。或者在控制器中找到公司实体,然后在新的角色实体中设置,然后保存它。在这种情况下如何进行

@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并正确保存?