所以我遇到了這個問題,當我嘗試使用 Postman 將 JSON 發布到資料庫時,它可以完美地上傳它,但它沒有上傳嵌入的物件(在串列中),我正在使用帶有 JPA 和休眠的 Spring Boot,我是試圖創建一個 API 來使用所有具有相同結構的 json 檔案制作 CRUD。
就我而言,我有Compania,它是主類,它有兩個物件串列,一個是default_group,另一個是Office。
這是我的控制器(POST 方法):
@PostMapping()
public void createCompania(@RequestBody Compania compania) {
companiaService.addCompania(compania);
}
這是我的存盤庫中的保存方法:
public void addCompania(Compania compania) {
companiaRepository.save(compania);
companiaRepository.flush();
}
這是我的主要物體(公司),它有兩個 OneToMany 變數:
@Entity(name = "Compania")
@Table(
name = "compania"
)
public class Compania {
@Id
@SequenceGenerator(
name = "compania_sequence",
sequenceName = "compania_sequence",
allocationSize = 1
)
@GeneratedValue (
strategy = GenerationType.SEQUENCE,
generator = "compania_sequence"
)
@Column(
nullable = false
)
private Long id;
private String name;
private String dominio;
private String altas;
private String bajas;
@OneToMany(
cascade = CascadeType.ALL,
fetch = FetchType.LAZY,
orphanRemoval = true
)
private List<DefaultGroup> default_group;
@OneToMany(
cascade = CascadeType.ALL,
fetch = FetchType.LAZY
)
private List<Office> office;
這是其他物體之一(default_group):
@Entity
@Table
public class DefaultGroup {
@Id
@SequenceGenerator(
name = "defaultGroup_sequence",
sequenceName = "defaultGroup_sequence",
allocationSize = 1
)
@GeneratedValue(
strategy = GenerationType.SEQUENCE,
generator = "defaultGroup_sequence"
)
@Column(
nullable = false
)
private Long id;
private String name;
private String path;
}
這是我用 Postman 發送的POST JSON:
{
"name": "name",
"dominio": "domain",
"altas": "xxxx",
"bajas": "yyyy",
"default_group":[
{
"name":"Users",
"path":"pathExample"
}
]
}
這是帶有結果的GET 方法
{
"id": 3,
"name": "name",
"dominio": "domain",
"altas": "xxxx",
"bajas": "yyyy",
"default_group": [
{}
],
"office": []
}
如您所見,我沒有得到 default_group 資料,就像它沒有正確決議一樣。你知道可能是什么問題嗎?或者它可能在哪里?
謝謝!
uj5u.com熱心網友回復:
問題是我沒有為其他物體(Default_group和office)添加getter 和 setter,因此它無法將不同的引數設定到物件中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/351326.html
