【发布时间】:2020-09-02 08:29:22
【问题描述】:
下面是我的商店实体
@Entity
@Table(name="stores")
public class Stores {
@Id
@GeneratedValue
private Long id;
@Column(name ="incharge_id")
private Integer inchargeId;
@Column(name = "store_name")
private String storeName;
@OneToMany(mappedBy = "stores",
fetch = FetchType.LAZY,
cascade = CascadeType.ALL)
private Set<Items> items;
public Set<Items> getItems() {
return items;
}
public void setItems(Set<Items> items) {
this.items = items;
for (Items item : items) {
item.setStores(this);
}
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Integer getInchargeId() {
return inchargeId;
}
public void setInchargeId(Integer inchargeId) {
this.inchargeId = inchargeId;
}
public String getStoreName() {
return storeName;
}
public void setStoreName(String storeName) {
this.storeName = storeName;
}
}
下面是我的物品实体
package bt.gov.dit.inventoryservice.model;
import javax.persistence.*;
import java.util.Date;
@Entity
@Table(name = "items")
public class Items {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long Id;
@Column(name="item_name")
private String itemName;
@ManyToOne
private Categories categories;
@ManyToOne(fetch = FetchType.LAZY)
//@JoinColumn(name = "book_category_id", referencedColumnName = "id")
@JoinColumn(name = "stores_id", nullable = false,referencedColumnName = "id")
private Stores stores;
@Column(name="insert_date")
private Date insertDate;
@Column(name="update_date")
private Date updateDate;
public Long getId() {
return Id;
}
public void setId(Long id) {
Id = id;
}
public String getItemName() {
return itemName;
}
public void setItemName(String itemName) {
this.itemName = itemName;
}
public Categories getCategories() {
return categories;
}
public void setCategories(Categories categories) {
this.categories = categories;
}
public Stores getStores() {
return stores;
}
public void setStores(Stores stores) {
this.stores = stores;
stores.getItems().add(this);
}
public Date getInsertDate() {
return insertDate;
}
public void setInsertDate(Date insertDate) {
this.insertDate = insertDate;
}
public Date getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
}
他们之间是一对多的关系。一家商店可以有许多商品。但我不知道如何使用 stores 插入项目。我已经尝试过 Jpa respoistory 的默认保存,但是代替 stores_id (这是外键)它保存 null 。谁能告诉我如何实现该服务?
【问题讨论】:
-
grokonez.com/spring-framework/spring-boot/… 按照这个链接,它用代码显示了我想要的。
标签: mysql spring-boot jpa one-to-many