Reputation: 884
As you can see I have two tables(Offer,Items) I have a problem with inserting Items,every time I add Offer it does not insert List of Items. Offer holds a list of items. Here is my code:
OFFER:
@Entity
public class Offer{
@Id
@GeneratedValue
int id;
private String name;
private String description;
@OneToMany(mappedBy="offer")
private List<Item> items;
//getters and setters
ITEMS:
@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
AND HERE IS CODE FOR FILLING TABLES:
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
Offer is successfully added, but Items are not. Is it problem with mapping?
Upvotes: 3
Views: 13309
Reputation: 195029
Offer
@OneToMany(cascade = { CascadeType.ALL }, orphanRemoval = true, mappedBy = "offer")
private List<Item> items;
Item:
@ManyToOne
@JoinColumn(name="idOffer")
private Offer offer;
Upvotes: 0