Hibernate one to many insert

11,668

did you try putting a cascade option on the OneToMany side?

Share:
11,668
Mitja Rogl
Author by

Mitja Rogl

Updated on June 28, 2022

Comments

  • Mitja Rogl
    Mitja Rogl almost 2 years

    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?