賞金將在 2 天內到期。此問題的答案有資格獲得 50聲望賞金。 Rpj正在從有信譽的來源尋找答案。
我無法在 POST 呼叫中將 foreign_key baz_id 系結到 Baz,它失敗并嘗試存盤條形圖時出現實體化錯誤
POST http://localhost/foo/api/v1/bars
{
"baz_id" : "1",
"weight" : "1.0"
}
@NotNull
@ManyToOne
@JoinColumn(name = "baz_id", nullable = false, referencedColumnName = "id")
private Baz baz;
uj5u.com熱心網友回復:
您的 JSON 對于正在映射的物件不正確。它應該是以下形式:
{
"baz" : {"id":"1"},
"weight" : "1.0"
}
這將允許 Spring 構建一個 bar 實體,該實體參考 id 為 1 的 Baz 實體。
或者,如果您使用
{
"baz_id" : "1",
"weight" : "1.0"
}
您的 java 物體將需要在其中定義一個“baz_id”屬性:
@Transient
private String baz_id;
然后你的控制器用來決定如何處理這個值;即在保存您的 Bar 實體之前使用適當的 findbyId 方法設定 baz 參考 - 這也使您有機會驗證它確實存在并決定如果它不存在該怎么辦;創建一個新的或拋出一個適當的例外。
或者,您可以將 String basic 映射到列,并僅使用它來設定值:
@ManyToOne
@JoinColumn(name = "baz_id", referencedColumnName = "id", insertable=false, updatable=false, fetch = FetchType.LAZY )
@JsonIgnore
private Baz baz;
@Column(name = "baz_id", nullable = false)
private String baz_id;
這將允許您將 baz_id 用于 REST api,但 baz 參考用于連接和其他應用程式使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/474126.html
下一篇:無法使用熊貓保存Excel作業表
