1
正如你可以看到我有兩個表(提供,項目) 我有一個插入項目的問題,每次我添加提供它不插入項目列表。優惠包含物品清單。 這裏是我的代碼:休眠一對多插入
提供:
@Entity
public class Offer{
@Id
@GeneratedValue
int id;
private String name;
private String description;
@OneToMany(mappedBy="offer")
private List<Item> items;
//getters and setters
項:
@Entity
public class Item{
@Id
@GeneratedValue
int idItem;
private String name;
private double price;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="idOffer")
private Offer offer;
// getters and setters
,這裏是代碼填充表:成功添加
Offer offer=GenerateData.generateOffer();
List<Item> items=new ArrayList<>();
for(int i=0;i<3;i++){
Item item=GenerateData.generateItem();
items.add(item);
item.setOffer(offer);
}
offer.setItems(items);
pDB.addOffer(offer);//DAO for adding Offers into DB
發售,但項目不是。映射有問題嗎?
是我加入,它的工作。雙方都可以級聯嗎? –
級聯選項定義通過可達性進行保存/刪除,因此,如果您曾保存過某個項目,並希望其更新也可以在那裏進行級聯。但是,如果商品對象已經是託管bean,則情況不會如此。 – Farzad
如果沒有設置(item.setOffer(offer);),IdOffer不會爲null嗎? –