[英]problem in handling one-to-many and many-to-one mapping
問題是當我為已經存在的類別添加 sous_categorie 時出現異常
java.sql.SQLIntegrityConstraintViolationException: Le champ 'id_cat' ne peut être vide (null)
我用 postman 來測試 API
{
"id_Cat": "1274d819-ca54-455b-b69f-07a3f8b345c0",
"souCatName": "hospitals"
}
Class DB類別
@Entity
@Table(name = "categorie")
public class DBCategorie {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
private String idCat;
private String catName;
@OneToMany(mappedBy = "categorie")
private List<DBSousCategorie> souscategorie;
public DBCategorie() {
}
//getters& setter
public DBCategorie(String idCat, String catName, List<DBSousCategorie> souscategorie) {
super();
this.idCat = idCat;
this.catName = catName;
this.souscategorie = souscategorie;
}
public DBCategorie(String idCat, String catName) {
this.idCat = idCat;
this.catName = catName;
}
class DBSous類別
@Entity
@Table(name = "souscategorie")
public class DBSousCategorie {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
private String idSouCat;
private String souCatName;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="id_Cat")
private DBCategorie categorie;
@OneToMany(mappedBy = "souscategorie")
private List<DBFile> files;
public DBSousCategorie() {
}
//Getters & Setters
public DBSousCategorie(String idSouCat, String souCatName, DBCategorie categorie) {
super();
this.idSouCat = idSouCat;
this.souCatName = souCatName;
this.categorie = categorie;
}
您是否在堅持之前將父類別 object 設置為 sous_category?
dbSousCategory.setCategory(categorie);
subCategoryService.save(dbSousCategory);
為了避免遞歸,請使用 @JsonIgnore 忽略父類別。
@Entity
@Table(name = "souscategorie")
public class DBSousCategorie {
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
private String idSouCat;
private String souCatName;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="id_Cat")
@JsonIgnore
private DBCategorie categorie;
@OneToMany(mappedBy = "souscategorie")
private List<DBFile> files;
public DBSousCategorie() {
}
//Getters & Setters
public DBSousCategorie(String idSouCat, String souCatName, DBCategorie categorie) {
super();
this.idSouCat = idSouCat;
this.souCatName = souCatName;
this.categorie = categorie;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.