You should include cascade="all" while using XML or cascade=CascadeType.ALL while using annotations on your collection mapping. This happens because you have a collection in your entity, and that collection has one or more items which are not present in the database. By specifying the above options you tell hibernate to save them to the database when saving their parent.