亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何正確發布到雙向關系

如何正確發布到雙向關系

慕田峪9158850 2022-09-07 17:34:26
因此,我使用springboot,spring-data和Jackson來實施API,但是當我試圖將請求發布到具有雙向關系@OneToMany的端點時,我遇到了一些麻煩。我沒有那么多背景,所以我需要真正的幫助。我有兩個實體:帕蒂達package lucas.duarte.jazz.model.bean;import java.io.Serializable;import java.util.List;import javax.persistence.CascadeType;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.OneToMany;import com.fasterxml.jackson.annotation.JsonCreator;import com.fasterxml.jackson.annotation.JsonManagedReference;import com.fasterxml.jackson.annotation.JsonProperty;@Entitypublic class Partida implements Serializable {    private static final long serialVersionUID = 1L;    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    private String timeA;    private String timeB;    private boolean visitante;    @OneToMany(mappedBy = "partida", fetch = FetchType.LAZY, cascade = CascadeType.ALL)    private List<Set> sets;    public List<Set> getSets() {        return sets;    }    public void setSets(List<Set> sets) {        this.sets = sets;    }    public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }    public String getTimeA() {        return timeA;    }    // Mocado o valor pois o Time A sempre e a Sao Judas    public void setTimeA(String timeA) {        this.timeA = timeA;    }    public String getTimeB() {        return timeB;    }    public void setTimeB(String timeB) {        this.timeB = timeB;    }    public boolean isVisitante() {        return visitante;    }    public void setVisitante(boolean visitante) {        this.visitante = visitante;    }}
查看完整描述

2 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

此問題與 JPA 雙向映射無關。它在反序列化時引發錯誤。
Partida -> 應具有零參數構造函數

請求有效負載應具有 { “partida”:{“id”:123}},以便填充 partida 對象屬性。


查看完整回答
反對 回復 2022-09-07
?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊

有關詳細信息,請查看此鏈接杰克遜圖書館。


@Entity

public class Partida implements Serializable {

    private static final long serialVersionUID = 1L;


    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private Long id;

    private String timeA;

    private String timeB;

    private boolean visitante;

    public  Partida(){

    //Default constructor required here 

    }

    @OneToMany(mappedBy = "partida", fetch = FetchType.LAZY, cascade = 

    CascadeType.ALL)

    private List<Set> sets;



    public List<Set> getSets() {

        return sets;

    }


    public void setSets(List<Set> sets) {

        this.sets = sets;

    }


    public Long getId() {

        return id;

    }


    public void setId(Long id) {

        this.id = id;

    }


    public String getTimeA() {

        return timeA;

    }


    // Mocado o valor pois o Time A sempre e a Sao Judas

    public void setTimeA(String timeA) {

        this.timeA = timeA;

    }


    public String getTimeB() {

        return timeB;

    }


    public void setTimeB(String timeB) {

        this.timeB = timeB;

    }


    public boolean isVisitante() {

        return visitante;

    }


    public void setVisitante(boolean visitante) {

        this.visitante = visitante;

    }


}

如果問題未解決,請嘗試 JSON 創建者


@JsonCreator

    public Partida(@JsonProperty("id") Long id, @JsonProperty("timeA") String 

    timeA, @JsonProperty("timeB") String timeB, @JsonProperty("desc") boolean

    visitante) {

    this.id = id;

    this.timeA = timeA;

    this.timeB= timeB;

    this.visitante= visitante;


查看完整回答
反對 回復 2022-09-07
  • 2 回答
  • 0 關注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號