为什么JHipster REST端点在数据库更新时不更新外键?

时间:2017-06-15 20:28:43

标签: json spring rest jpa orm

我目前正在编写一个REST端点,允许用户POST嵌套的JSON数据,以便在一个JSON有效负载中创建和链接多个表。为了使这个过程可视化,我将提供一个简单的例子。

[家长] 1 - > * [孩子]

我有一个Parent实体,它与OneToMany关系连接到多个子实体。

要在一次API调用中创建父实体和子实体,用户将POST到/ parent:

{
    "parent_name" : Dad,
    "childs" : [
        {
            "child_name" : Joe
        }
    ]
}

孩子将通过父母的主键ID自动链接到父母,因为我将此代码添加到了我的父对象。

@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
@JoinColumn(name = "PARENT_ID", referencedColumnName = "ID")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
private Set<Child> children= new HashSet<>();

@JoinColumn操作会将父ID的ID添加到子PARENT_ID列中,并且我已经验证这在数据库中是否正常工作。

问题是,如果我想发送GET请求以查看孩子的父母(通过向/ child / {child_id}调用GET请求),则响应正文将返回孩子的内容。在重新启动应用程序之前,parent为null。一旦我重新启动应用程序并向/ child / {child_id}发出相同的请求,我就能看到孩子的父母(它会给我父母的ID)。

我的问题是,为什么我的REST端点在创建新的父/子关系时没有更新,直到我重新启动应用程序之后?我有什么办法可以解决这个问题吗?

0 个答案:

没有答案