首页 > 解决方案 > 关联实体 JPA 的最佳方式

问题描述

我在两个实体之间有多对一关系,我想知道是否有更好的选择来使用现有 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 = ""
) 

标签: spring-bootjpakotlin

解决方案


如果company角色字段是强制性的(非空),那么您需要创建第一个公司,以便您可以与 ID 或名称或任何外键链接。然后您首先创建一个公司,然后创建一个与之相关的角色。

{
   "name" : "Role Name - 1",
   "company" : 1,   // or "Company-"
   "type" : "Type - 1",   
   "description" : "This a test description"
}

推荐阅读