首页 > 解决方案 > Spring Data REST 多对多失败:一对多工作

问题描述

我有两个带有 Spring Data REST 的实体:在多对多关系中“阶段”父和“订阅”子。我使用这篇文章作为参考:https ://www.baeldung.com/spring-data-rest-relationships

阶段实体:

    @ManyToMany
    @JoinTable(name = "phases_subscriptions", 
        joinColumns = @JoinColumn(name = "phase_id"), 
        inverseJoinColumns = @JoinColumn(name = "subscription_id"))
    @Getter @Setter
    private List<Subscription> subscriptions;

订阅实体:

    @ManyToMany(mappedBy = "subscriptions")
    @Getter @Setter
    private List<Phase> phases;

订阅.sql

phase int,
CONSTRAINT fk_subscription_phase FOREIGN KEY subscriptionPhase (phase) 
REFERENCES phase (id) ON DELETE CASCADE ON UPDATE CASCADE

有了这些,我得到了以下结果:

现在的问题:

标签: mysqlspring-bootrestspring-data-jpaspring-data

解决方案


我只解决了将 HTTP 动词从 PUT 更改为 PATCH,如下所示: curl -i -X PATCH -H "Content-Type:text/uri-list" --data-binary "http://localhost:8080/subscriptions/ 2" http://localhost:8080/phases/1/subscriptions


推荐阅读