【问题标题】:Best way to associate an entity JPA关联实体 JPA 的最佳方式
【发布时间】:2019-11-05 19:58:34
【问题描述】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 我明白了..这就是问题,如何与外键链接?也许当收到公司 ID = 1 时,我是否需要搜索 ID = 1 的公司实体?还是 JPA 有办法了解公司 ID 并正确保存?
    猜你喜欢
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2015-02-17
    • 2012-01-18
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多