Hello
Im a newbie of hibernate I have huge problem  solving this I cant figure it out....maybe is it simple but I  have googled and searched in tutorials and followed every step but It doesnt work.
I thought that hibernate should do all the work handling objects and store data into corresponding table in DB
Im using Mysql and 
What I want to achive is if I create a "People"-object and adds "Event"s to that "People"'s Set<Event> and then do:
session.save(people);
I want to save all data corresponding that "People" in its table and all infomation in the Set<Event> into the Event table. One People can have many Event
In Mysql I have 2 tables corresponding to People and Event and People's id key is an foreign key in the Event table (id_people) so I can bind people to events
When I compile my code I get an error that says:
"Cannot add or update a child row: a foreign key constraint fails"
My *.java files looks like:
People.java and Event.java
People.java
------------------------------------
Code:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class People {
   
   private int id;
   private String namn;
   private Set<Event> events=new HashSet<Event>();
   
   public Set getEvents() {
      return events;
   }
   public void setEvents(Set events) {
      this.items = events;
   }
   public People(){
   }
   public int getId() {
      return id;
   }
   public void setId(int id) {
      this.id = id;
   }
   public String getNamn() {
      return namn;
   }
   public void setNamn(String namn) {
      this.namn = namn;
   }
}
------------------------------------------------
Event.java
-------------------------------------------------
Code:
public class Event {
private int id;
private int id_people;
private String namn;
public Event(){
   
}
public int getId() {
   return id;
}
public void setId(int id) {
   this.id = id;
}
public int getId_people() {
   return id_people;
}
public void setId_people(int id) {
   this.id_people = id;
}
public String getNamn() {
   return namn;
}
public void setNamn(String namn) {
   this.namn = namn;
}
}
-----------------------------------------------
My *.hbm.xml files looks like:
people.hbm.xml
----------------------------------------------
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
   <class name="People" table="people">
      <id name="id" column="id" type="java.lang.Integer" >
         <generator class="increment" />
      </id>
      <property name="namn" column="namn" type="java.lang.String" />
      <set name="events" table="event" cascade="all">
         <key column="id_people" />
         <one-to-many class="Event"  />
      </set>
   </class>
</hibernate-mapping>
--------------------------------------------------
event.hbm.xml
----------------------------------------------------
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
   <class name="Event" table="event" >
      <id name="id" column="id" type="java.lang.Integer" >
         <generator class="increment" />
      </id>
      <property name="id_people" column="id_people" type="java.lang.Integer" />
      <property name="namn" column="namn" type="java.lang.String" />
      
   </class>
</hibernate-mapping>
-------------------------------------------------------
I would be so glad if someone could help me solving/explain what Im doing wrong.
Best Regards /MiMa