When I'm trying to save the following parent / child relationship, only the parent class is being persisted but not the children. If I call session.save(child) for each child it works. Is this right, or can save everything by just calling session.save(parent)?
Code:
test code:
SessionFactory sf = PersistanceManager.getSessionFactoy();
Auftrag auftrag = new Auftrag();
AuftragPosition auftragposition = new AuftragPosition();
auftragposition.setAuftragnummer(auftrag);
auftrag.addAuftragposition(auftragposition);
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
session.save(auftrag);
tx.commit();
session.close();
<hibernate-mapping package="dao">
<class name="dao.Auftrag">
<id name="auftragnummer">
<generator class="increment"/>
</id>
........
<list cascade="all" inverse="true" name="auftragpositionen">
<key column="auftragnummer"/>
<index column="position" type="int"/>
<one-to-many class="dao.AuftragPosition"/>
</list>
</class>
</hibernate-mapping>
<hibernate-mapping package="dao">
<class name="dao.AuftragPosition">
<id name="auftragposid">
<generator class="increment"/>
</id>
........
<many-to-one cascade="all" class="dao.Auftrag" column="Auftragnummer"
name="auftragnummer" not-null="true"/>
</class>
</hibernate-mapping>